|
68298
|
Alam by asz by @Arz | Stardance
|
Arz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Alam by asz by @Arz | Stardance
|
1793739174.9145336
|
1794343974.9145336
|
|
68299
|
Alam by asz by @Arz | Stardance
|
Arz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Alam by asz by @Arz | Stardance
|
1793739181.4023004
|
1794343981.4023004
|
|
68300
|
FNF Appropriate by @woodburn_john30 | Stardance
|
woodburn_john30
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FNF Appropriate by @woodburn_john30 | Stard Title: FNF Appropriate by @woodburn_john30 | Stardance...
|
1793739185.7191782
|
1794343985.7191782
|
|
68301
|
My very own WebOS by @zvr | Stardance
|
zvr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @zvr | Stardance
|
1793739189.1673064
|
1794343989.1673064
|
|
68302
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760856.8697884
|
1794624856.8697884
|
|
68303
|
WarioWare Game by @arenagaming364 | Stardance
|
arenagaming364
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @arenagaming364 | Stardan Title: WarioWare Game by @arenagaming364 | Stardance...
|
1793739191.7802744
|
1794343991.7802744
|
|
68304
|
playground by @admirealy | Stardance
|
admirealy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: playground by @admirealy | Stardance
|
1793739195.2603152
|
1794343995.2603152
|
|
68305
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760858.6294377
|
1794624858.6294377
|
|
68306
|
Locate with Lois by @EshanDoes | Stardance
|
EshanDoes
|
0
|
13.67
|
0
|
[]
|
[{"post_id": 80158, "ts": "202 [{"post_id": 80158, "ts": "2026-10-16T13:40:37Z", "hours": 8.72, "text": "Yes, I know, second devlog is on the start of voting for the jam, likely not gonna get much in terms of storytelling. Either way though, the game was in a finished enough state for submission! Likely not gonna ship it yet though, because I’m gonna be working on a post-jam patch to patch up the rough spots."}, {"post_id": 78201, "ts": "2026-10-09T23:19:13Z", "hours": 4.9511, "text": "A bit late since there’s already under a week left until round 1 is finished, but I’ve been making progress! I finished the dialogue system as can be seen from this video on Tuesday, but I’ve still got a lot to go, especially in terms of assets. Hopefully I can get it done on time!"}]...
|
Title: Locate with Lois by @EshanDoes | Stardance
Title: Locate with Lois by @EshanDoes | Stardance
Devlogs:
A bit late since there’s already under a week left until round 1 is finished, but I’ve been making progress! I finished the dialogue system as can be seen from this video on Tuesday, but I’ve still got a lot to go, especially in terms of assets. Hopefully I can get it done on time!
Yes, I know, second devlog is on the start of voting for the jam, likely not gonna get much in terms of storytelling. Either way though, the game was in a finished enough state for submission! Likely not gonna ship it yet though, because I’m gonna be working on a post-jam patch to patch up the rough spots....
|
1793739196.975733
|
1794343996.975733
|
|
68307
|
My awesome macropad! by @anshthedev59 | Stardance
|
anshthedev59
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @anshthedev59 | Sta Title: My awesome macropad! by @anshthedev59 | Stardance...
|
1793739199.6122162
|
1794343999.6122162
|
|
68308
|
Game changer by @hrishikeshd153 | Stardance
|
hrishikeshd153
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Game changer by @hrishikeshd153 | Stardance
|
1793739204.6276593
|
1794344004.6276593
|
|
68309
|
My own site! by @rivarly | Stardance
|
rivarly
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @rivarly | Stardance
|
1793739205.505327
|
1794344005.505327
|
|
68310
|
Ari-Clock by @Nefx07 | Stardance
|
Nefx07
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ari-Clock by @Nefx07 | Stardance
|
1793739208.1386914
|
1794344008.1386914
|
|
68311
|
BLARE by @zacvblack | Stardance
|
zacvblack
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @zacvblack | Stardance
|
1793739210.7575252
|
1794344010.7575252
|
|
68312
|
realistic F1 inspired game by @pmandal7355 | Stard realistic F1 inspired game by @pmandal7355 | Stardance...
|
pmandal7355
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: realistic F1 inspired game by @pmandal7355 Title: realistic F1 inspired game by @pmandal7355 | Stardance...
|
1793739214.2290895
|
1794344014.2290895
|
|
68314
|
inkan by @Vensin | Stardance
|
Vensin
|
0
|
11.67
|
0
|
[]
|
[{"post_id": 81199, "ts": "202 [{"post_id": 81199, "ts": "2026-10-20T08:12:20Z", "hours": 3.8042, "text": "Hello again my little Stardancers ✨ inkan 0.8.0 is out. This one is less about new tricks and more about making inkan something you can actually build on without it shifting under you. The big one: the API is stable now. Every function is marked either stable or experimental. Stable stuff won’t just change or disappear anymore. If I rename something, the old name keeps working with a warning for at least two versions and six months. Before freezing it I had the whole API reviewed and cleaned up the things I would have regretted later, like time options that were seconds in one place and milliseconds in another, or two different names for the same origin setting. There’s also a test now that fails the moment the public types change by accident. Then storage. Until now every feature kept its own little store in memory, so jobs and logins only worked in one process. Now there’s one Store in the core, and four new packages that plug into it: redis, postgres, mongo and mysql. You pass in your own database client, so none of them add a dependency. With one of those, jobs, sessions, logins and rate limits work across several processes and servers. Each adapter has to pass the same test suite, and they’re all tested against real database servers, not fakes. They also got a security review. That found a few real things, like a way to inject SQL into MySQL under unusual server settings, and that my login protection had become weaker than before. All fixed. Smaller stuff: React hooks for live data in @inkanjs /query, so you can show job progress or websocket messages with one hook websockets now also run on uWebSockets.js async handlers got faster and are now as fast as plain node:http on the benchmark a fix where the dev inspector could be reached when it shouldn’t About speed, honestly: on the GitHub runner inkan scored 91.0 and Fastify 89.9. inkan was ahead in two runs and level in the third, so I’m calling it level to slightly ahead, not faster. At first 0.8 even looked slower than 0.7, so I measured the CPU time per request separately, and it’s exactly the same as 0.7. The difference was the test machine moving around. One bug I only found during the release: on Node 22 a websocket that gets refused never tells you, it just waits forever. That’s fixed in 0.8.1. Next: I want to make writing adapters for other servers easier, and I still want someone from Fastify and Hono to look at my benchmark code. See you next time ✨"}, {"post_id": 77878, "ts": "2026-10-08T17:10:32Z", "hours": 1.4211, "text": "Hello again my little Stardancers ✨inkan 0.6.0 is out, and this one was a big one. The plan was simple to say and hard to do: make inkan faster than Fastify on plain node:http, without generating code at runtime the way Fastify does with new Function. I wrote a plan with phases, measured main before touching anything, and then went through it step by step, keeping only what the numbers carried.First the fixed costs. Every request used to make about twenty little objects where six would do, and the request id came from a random UUID. Now the id comes from a counter, everything a route can work out ahead of time is worked out once at start, and a request with a body is only routed once. That alone saved about four percent of CPU per request. Then something odd happened: over HTTP, under full load, it was ten percent slower, even though it spent less CPU. I spent a good while hunting that down, measuring one change at a time against the last one, and it turned out to be fields I had made lazy. Filled on first use, they cost more under load than they saved. Made at once again, and the ten percent were back.Then the schemas. Every schema now checks through one function made once from its rules, which I call its stamp, instead of walking the schema tree on every request. To make sure nothing changed, a test builds every schema twice, once the old way and once the new, and compares two thousand random schemas and values. Same values, same messages, same paths.Writing answers was the lesson of the week. My first idea was a writer in plain JavaScript that writes only what the contract lists in one pass. It was clean, and it was almost twice as slow as the native JSON.stringify. So it went. What stayed: a plain object that holds exactly what the contract lists goes straight to the native writer, and anything else is copied with only the declared fields first. While pinning the old writer down with tests I also found five places where it wrote something it should not have, and two of them could let a key the contract never listed slip out. All five are fixed.And the honest result: on the bench inkan 0.6.0 scores 89.1 against Fastify’s 88.6, with node:http as 100. That is level, not ahead, because the runs overlap, so I am not calling it faster. It is 5.5 percent faster than 0.5, and with inkan seal a body of 50 objects is checked faster than by any server on the bench. Every number, phase by phase, is in the repository, including the ideas that did not work.There is more than speed in this one. The context can answer with text, html, a redirect or a 404 now, and the html tag escapes everything you put into it, so a name someone typed can never become a script on your page. Layouts work per scope, cookies are safe by default, and a handler can hand back rows straight from a database cursor: they go out as they are read, each one trimmed to the contract, as JSON or as one line per row. ctx.csv writes a million rows without holding them in memory, ctx.signal stops a query when the client leaves or the time is up, and a route can cache its answers and ask the database once when ten people ask at the same time.The website got a new logo too, 印 between braces, and the docs now have a real API section with every method and every option in one place.Next up is winning the scenarios where Fastify is still ahead: small requests, the router and middleware. I have a few ideas.See you next time ✨"}, {"post_id": 77789, "ts": "2026-10-08T08:47:47Z", "hours": 1.1386, "text": "Hello again my little Stardancers ✨ It’s devlog time, and this one comes with a confession: I moved a real app onto inkan. Not a todo list. A real one with 55 routes, file uploads, backups of a couple hundred MB, sessions and a mail setup. It ran on Express, and I wanted to know what happens when inkan has to do real work. Turns out: mostly fine. But not completely. And that “not completely” turned into inkan 0.5.0 The first problem was request bodies. inkan read every body into memory, with one 1 MB limit for the whole app. Fine for JSON, less fine for “hey, can I upload this 2 GB backup?” No ❤️ So I paused the migration and fixed the framework first. 0.5.0 brings t.binary() for files sent as the request body, and t.stream() for real streaming uploads: your handler gets the upload chunk by chunk, so the file never sits in memory. Limits are per route, so one endpoint can take 2 GB while the rest stays at 1 MB. On the way I found a fun bug: when a stream hit its limit, or the server answered 401 before the upload was done, the connection could just… hang. Fixed, the response arrives and the rest gets drained properly Then the frontend. Now there’s serveStatic(): hashed assets cached for a year, index.html never stuck in a cache, and unknown routes fall back to the SPA. Except /api, where a typo gets a real 404 instead of your entire frontend 💅 compress() does Brotli and gzip, streams included. In the app I migrated, the bundle went from 75 KB to 18 KB. There’s also ctx.ip for the login rate limiter (Bun and Deno too), per-route body limits and app.bodyFor() for adapter authors. And the benchmarks say no potato: every scenario stayed within ±4% of main on the same GitHub runner. And then something else happened: inkan got integrations 🧩 All in one repo at github.com/inkanjs/integrations. @inkanjs /vite runs your API inside the Vite dev server, so frontend and API share one port. No proxy, no second terminal, just npm run dev. The API reloads on every save, each reload counts as a fresh restart so your timers don’t multiply, the docs and inspector links show up in Vite’s banner, and a broken API shows up in Vite’s error overlay. @inkanjs /next turns an inkan app into Next.js route handlers with one line, works with the Pages Router too, and has direct(app): a typed client for Server Components that calls your API in the same process. CI builds and starts a real Next.js app, because “works on my machine” isn’t a testing strategy. @inkanjs /query is for TanStack Query: keys and types straight from the API paths, failed responses as errors with the problem document, and a retry() that won’t retry a 404 until the heat death of the universe. @inkanjs /uws runs inkan on uWebSockets.js, with graceful shutdown and HTTPS, and it’s the fastest way to run inkan. Nuxt, SvelteKit, Astro and Remix don’t even need a package: app.fetch is enough, and the repo has recipes. And the migration? All 55 routes run on inkan now, split into files by area instead of one 1300-line index.js. Every test passes, the frontend didn’t change a single line, and dev went from two processes, two ports and a proxy to npm run dev on one port. Express, compression and concurrently are gone, 74 packages fewer A real project is great at showing you where your framework doesn’t hold up. inkan had a few of those places. Now it has fewer. npm install @vxnsin / [email protected] See you next time, Stardancers 🌙"}, {"post_id": 77562, "ts": "2026-10-07T14:20:08Z", "hours": 2.1539, "text": "Hello again my little Stardancers ✨ inkan 0.4.0 is out, and I closed the entire milestone in one day. Every single issue. I don’t know who I am anymore either. The one I’m proudest of: npx @vxnsin /inkan learn. It’s a tutorial that lives in your terminal. It sets up a tiny tea shop, gives you twelve quests, and checks your work every time you hit save. Forgot a validation rule? It tells you. Stuck? Press h for a hint, press it again for a less subtle hint. By quest 12 you’ve built routes, contracts, auth, hooks, plugins, and you’ve broken a client on purpose (for science). No other web framework ships a tutorial inside itself, so I figured: why not be the first one. inkan also got grown-up stuff this time. Hooks, plugins and decorators, so you can bolt on your own things without touching the core, and a little rate limiter built on exactly those APIs to prove it works. Routes can now live in a folder tree, routes/teas/[id].ts and friends. And inkan finally leaves the house: app.fetch runs it on Bun, Deno and serverless, workers: “auto” uses every CPU core you own, and there’s an adapter for uWebSockets.js if you want to go absolutely feral. Then there’s inkan seal. It stamps your contracts into plain code ahead of time, so big requests get checked in about half the time. No eval, no runtime magic, just a file you can actually read. And if your contract changes and you forget to reseal, inkan notices and quietly ignores the stale seal. It’s basically a very responsible goldfish. Speed check, because I promised honest numbers: on a fair benchmark inkan beats Hono, by 0.4 points. I’m choosing to celebrate that like it’s 40. Fastify is still a bit ahead, Express is still Express. But put inkan on the uWS adapter and it’s a third faster than plain Node itself. Who’s the framework now. Also: inkan moved into its own home at github.com/inkanjs, and routes can now say who’s allowed in (security: “bearer”) and actually mean it."}, {"post_id": 77516, "ts": "2026-10-07T09:35:21Z", "hours": 2.4317, "text": "Hello again my little Stardancers ✨ inkan 0.3.0 is out, and it has learned to read the room. Specifically: it now notices when you’re about to break things for everyone who depends on you. Which is more than I can say for some group projects. The big one is inkan diff. You give it the OpenAPI document from your last release and your app as it is now, and it tells you exactly which changes would make your clients cry. A field that suddenly became required? Breaking. A route you “cleaned up”? Very breaking. A new optional field? Totally fine, go off. Put it in CI and your pipeline turns red before your users do. Also new: npx @vxnsin /inkan examples drops a whole explained project into your folder. Six of them, from “hello” to “deploy”, each with a README that tells you what to read first and a list of ways to break it on purpose, because honestly that’s how we all learn anyway. There’s a typed client now too: your frontend gets its types straight from the server routes, no codegen, no ritual sacrifices. Typo in a path? It doesn’t compile. Beautiful. And the rest of the goodie bag: server-sent events with a schema per event (even endless streams can be tests now, don’t ask how, it’s magic and also a counter), file uploads with size and type limits, examples that build on each other (“create a tea, then fetch it”), request ids in every log line and every error, a replay button in the inspector that turns real traffic into examples, and you can now edit requests right on the docs page. Huge thanks to AndrewCMD for dates, refinements and recursive schemas, inkan’s brain got noticeably bigger."}, {"post_id": 77381, "ts": "2026-10-06T18:46:55Z", "hours": 0.3147, "text": "Hello again my little Stardancers ✨ inkan 0.2.0 is out, and it has trust issues now, just like my ex. The difference is that inkan’s trust issues are actually helpful. The big one: inkan check now tells you what you forgot to test. If your route promises a 409 but none of your examples ever triggers it, inkan points at it and says “that one, nobody checked that one.” Add –strict and your CI refuses to go green until you write that example. Your docs page shows the same hint, so the lie gets caught twice. Browsers can finally talk to inkan from another origin too. There’s a little cors() middleware, and OPTIONS requests get answered automatically instead of a sad 405. The terminal got its colours, RinZ27’s lifecycle hooks made it in, and the CLI now has real tests of its own. Releasing is one click now as well: a GitHub release publishes to npm with a signed link back to the exact commit, so you can check that what you install is what’s on GitHub."}, {"post_id": 77348, "ts": "2026-10-06T17:02:27Z", "hours": 0.4039, "text": "Hello my little Stardancers ✨ Devlog time! No ship yet, but here’s what’s been cooking. inkan (印鑑) is an API server for Node where the docs can’t lie. Every route gets one contract, and from that inkan validates requests, types your handler, writes OpenAPI and serves docs. The fun part: every example in the docs also runs as a test, so if your code drifts away from what the docs promise, inkan check goes red before anyone reads a lie. Zero dependencies, so your node_modules can finally rest. This week I merged my first community PR 🎉 It adds lifecycle hooks for connecting your database on startup and closing it cleanly on Ctrl+C. Before merging I caught two sneaky bugs: a failing startup hook took the whole server down, and a stuck shutdown hook could keep the process alive forever, like a guest who won’t leave the party. Both are fixed and tested. Next up is better logging, and then the ship is coming soon™ 🫡"}]...
|
Title: inkan by @Vensin | Stardance
Devlogs:
Hell Title: inkan by @Vensin | Stardance
Devlogs:
Hello my little Stardancers ✨ Devlog time! No ship yet, but here’s what’s been cooking. inkan (印鑑) is an API server for Node where the docs can’t lie. Every route gets one contract, and from that inkan validates requests, types your handler, writes OpenAPI and serves docs. The fun part: every example in the docs also runs as a test, so if your code drifts away from what the docs promise, inkan check goes red before anyone reads a lie. Zero dependencies, so your node_modules can finally rest. This week I merged my first community PR 🎉 It adds lifecycle hooks for connecting your database on startup and closing it cleanly on Ctrl+C. Before merging I caught two sneaky bugs: a failing startup hook took the whole server down, and a stuck shutdown hook could keep the process alive forever, like a guest who won’t leave the party. Both are fixed and tested. Next up is better logging, and then the ship is coming soon™ 🫡
Hello again my little Stardancers ✨ inkan 0.2.0 is out, and it has trust issues now, just like my ex. The difference is that inkan’s trust issues are actually helpful. The big one: inkan check now tells you what you forgot to test. If your route promises a 409 but none of your examples ever triggers it, inkan points at it and says “that one, nobody checked that one.” Add –strict and your CI refuses to go green until you write that example. Your docs page shows the same hint, so the lie gets caught twice. Browsers can finally talk to inkan from another origin too. There’s a little cors() middleware, and OPTIONS requests get answered automatically instead of a sad 405. The terminal got its colours, RinZ27’s lifecycle hooks made it in, and the CLI now has real tests of its own. Releasing is one click now as well: a GitHub release publishes to npm with a signed link back to the exact commit, so you can check that what you install is what’s on GitHub.
Hello again my little Stardancers ✨ inkan 0.3.0 is out, and it has learned to read the room. Specifically: it now notices when you’re about to break things for everyone who depends on you. Which is more than I can say for some group projects. The big one is inkan diff. You give it the OpenAPI document from your last release and your app as it is now, and it tells you exactly which changes would make your clients cry. A field that suddenly became required? Breaking. A route you “cleaned up”? Very breaking. A new optional field? Totally fine, go off. Put it in CI and your pipeline turns red before your users do. Also new: npx @vxnsin /inkan examples drops a whole explained project into your folder. Six of them, from “hello” to “deploy”, each with a README that tells you what to read first and a list of ways to break it on purpose, because honestly that’s how we all learn anyway. There’s a typed client now too: your frontend gets its types straight from the server routes, no codegen, no ritual sacrifices. Typo in a path? It doesn’t compile. Beautiful. And the rest of the goodie bag: server-sent events with a schema per event (even endless streams can be tests now, don’t ask how, it’s magic and also a counter), file uploads with size and type limits, examples that build on each other (“create a tea, then fetch it”), request ids in every log line and every error, a replay button in the inspector that turns real traffic into examples, and you can now edit requests right on the docs page. Huge thanks to AndrewCMD for dates, refinements and recursive schemas, inkan’s brain got noticeably bigger.
Hello again my little Stardancers ✨ inkan 0.4.0 is out, and I closed the entire milestone in one day. Every single issue. I don’t know who I am anymore either. The one I’m proudest of: npx @vxnsin /inkan learn. It’s a tutorial that lives in your terminal. It sets up a tiny tea shop, gives you twelve quests, and checks your work every time you hit save. Forgot a validation rule? It tells you. Stuck? Press h for a hint, press it again for a less subtle hint. By quest 12 you’ve built routes, contracts, auth, hooks, plugins, and you’ve broken a client on purpose (for science). No other web framework ships a tutorial inside itself, so I figured: why not be the first one. inkan also got grown-up stuff this time. Hooks, plugins and decorators, so you can bolt on your own things without touching the core, and a little rate limiter built on exactly those APIs to prove it works. Routes can now live in a folder tree, routes/teas/[id].ts and friends. And inkan finally leaves the house: app.fetch runs it on Bun, Deno and serverless, workers: “auto” uses every CPU core you own, and there’s an adapter for uWebSockets.js if you want to go absolutely feral. Then there’s inkan seal. It stamps your contracts into plain code ahead of time, so big requests get checked in about half the time. No eval, no runtime magic, just a file you can actually read. And if your contract changes and you forget to reseal, inkan notices and quietly ignores the stale seal. It’s basically a very responsible goldfish. Speed check, because I promised honest numbers: on a fair benchmark inkan beats Hono, by 0.4 points. I’m choosing to celebrate that like it’s 40. Fastify is still a bit ahead, Express is still Express. But put inkan on the uWS adapter and it’s a third faster than plain Node itself. Who’s the framework now. Also: inkan moved into its own home at github.com/inkanjs, and routes can now say who’s allowed in (security: “bearer”) and actually mean it.
Hello again my little Stardancers ✨ It’s devlog time, and this one comes with a confession: I moved a real app onto inkan. Not a todo list. A real one with 55 routes, file uploads, backups of a couple hundred MB, sessions and a mail setup. It ran on Express, and I wanted to know what happens when inkan has to do real work. Turns out: mostly fine. But not completely. And that “not completely” turned into inkan 0.5.0 The first problem was request bodies. inkan read every body into memory, with one 1 MB limit for the whole app. Fine for JSON, less fine for “hey, can I upload this 2 GB backup?” No ❤️ So I paused the migration and fixed the framework first. 0.5.0 brings t.binary() for files sent as the request body, and t.stream() for real streaming uploads: your handler gets the upload chunk by chunk, so the file never sits in memory. Limits are per route, so one endpoint can take 2 GB while the rest stays at 1 MB. On the way I found a fun bug: when a stream hit its limit, or the server answered 401 before the upload was done, the connection could just… hang. Fixed, the response arrives and the rest gets drained properly Then the frontend. Now there’s serveStatic(): hashed assets cached for a year, index.html never stuck in a cache, and unknown routes fall back to the SPA. Except /api, where a typo gets a real 404 instead of your entire frontend 💅 compress() does Brotli and gzip, streams included. In the app I migrated, the bundle went from 75 KB to 18 KB. There’s also ctx.ip for the login rate limiter (Bun and Deno too), per-route body limits and app.bodyFor() for adapter authors. And the benchmarks say no potato: every scenario stayed within ±4% of main on the same GitHub runner. And then something else happened: inkan got integrations 🧩 All in one repo at github.com/inkanjs/integrations. @inkanjs /vite runs your API inside the Vite dev server, so frontend and API share one port. No proxy, no second terminal, just npm run dev. The API reloads on every save, each reload counts as a fresh restart so your timers don’t multiply, the docs and inspector links show up in Vite’s banner, and a broken API shows up in Vite’s error overlay. @inkanjs /next turns an inkan app into Next.js route handlers with one line, works with the Pages Router too, and has direct(app): a typed client for Server Components that calls your API in the same process. CI builds and starts a real Next.js app, because “works on my machine” isn’t a testing strategy. @inkanjs /query is for TanStack Query: keys and types straight from the API paths, failed responses as errors with the problem document, and a retry() that won’t retry a 404 until the heat death of the universe. @inkanjs /uws runs inkan on uWebSockets.js, with graceful shutdown and HTTPS, and it’s the fastest way to run inkan. Nuxt, SvelteKit, Astro and Remix don’t even need a package: app.fetch is enough, and the repo has recipes. And the migration? All 55 routes run on inkan now, split into files by area instead of one 1300-line index.js. Every test passes, the frontend didn’t change a single line, and dev went from two processes, two ports and a proxy to npm run dev on one port. Express, compression and concurrently are gone, 74 packages fewer A real project is great at showing you where your framework doesn’t hold up. inkan had a few of those places. Now it has fewer. npm install @vxnsin / [email protected] See you next time, Stardancers 🌙
Hello again my little Stardancers ✨inkan 0.6.0 is out, and this one was a big one. The plan was simple to say and hard to do: make inkan faster than Fastify on plain node:http, without generating code at runtime the way Fastify does with new Function. I wrote a plan with phases, measured main before touching anything, and then went through it step by step, keeping only what the numbers carried.First the fixed costs. Every request used to make about twenty little objects where six would do, and the request id came from a random UUID. Now the id comes from a counter, everything a route can work out ahead of time is worked out once at start, and a request with a body is only routed once. That alone saved about four percent of CPU per request. Then something odd happened: over HTTP, under full load, it was ten percent slower, even though it spent less CPU. I spent a good while hunting that down, measuring one change at a time against the last one, and it turned out to be fields I had made lazy. Filled on first use, they cost more under load than they saved. Made at once again, and the ten percent were back.Then the schemas. Every schema now checks through one function made once from its rules, which I call its stamp, instead of walking the schema tree on every request. To make sure nothing changed, a test builds every schema twice, once the old way and once the new, and compares two thousand random schemas and values. Same values, same messages, same paths.Writing answers was the lesson of the week. My first idea was a writer in plain JavaScript that writes only what the contract lists in one pass. It was clean, and it was almost twice as slow as the native JSON.stringify. So it went. What stayed: a plain object that holds exactly what the contract lists goes straight to the native writer, and anything else is copied with only the declared fields first. While pinning the old writer down with tests I also found five places where it wrote something it should not have, and two of them could let a key the contract never listed slip out. All five are fixed.And the honest result: on the bench inkan 0.6.0 scores 89.1 against Fastify’s 88.6, with node:http as 100. That is level, not ahead, because the runs overlap, so I am not calling it faster. It is 5.5 percent faster than 0.5, and with inkan seal a body of 50 objects is checked faster than by any server on the bench. Every number, phase by phase, is in the repository, including the ideas that did not work.There is more than speed in this one. The context can answer with text, html, a redirect or a 404 now, and the html tag escapes everything you put into it, so a name someone typed can never become a script on your page. Layouts work per scope, cookies are safe by default, and a handler can hand back rows straight from a database cursor: they go out as they are read, each one trimmed to the contract, as JSON or as one line per row. ctx.csv writes a million rows without holding them in memory, ctx.signal stops a query when the client leaves or the time is up, and a route can cache its answers and ask the database once when ten people ask at the same time.The website got a new logo too, 印 between braces, and the docs now have a real API section with every method and every option in one place.Next up is winning the scenarios where Fastify is still ahead: small requests, the router and middleware. I have a few ideas.See you next time ✨
Hello again my little Stardancers ✨ inkan 0.8.0 is out. This one is less about new tricks and more about making inkan something you can actually build on without it shifting under you. The big one: the API is stable now. Every function is marked either stable or experimental. Stable stuff won’t just change or disappear anymore. If I rename something, the old name keeps working with a warning for at least two versions and six months. Before freezing it I had the whole API reviewed and cleaned up the things I would have regretted later, like time options that were seconds in one place and milliseconds in another, or two different names for the same origin setting. There’s also a test now that fails the moment the public types change by accident. Then storage. Until now every feature kept its own little store in memory, so jobs and logins only worked in one process. Now there’s one Store in the core, and four new packages that plug into it: redis, postgres, mongo and mysql. You pass in your own database client, so none of them add a dependency. With one of those, jobs, sessions, logins and rate limits work across several processes and servers. Each adapter has to pass the same test suite, and they’re all tested against real database servers, not fakes. They also got a security review. That found a few real things, like a way to inject SQL into MySQL under unusual server settings, and that my login protection had become weaker than before. All fixed. Smaller stuff: React hooks for live data in @inkanjs /query, so you can show job progress or websocket messages with one hook websockets now also run on uWebSockets.js async handlers got faster and are now as fast as plain node:http on the benchmark a fix where the dev inspector could be reached when it shouldn’t About speed, honestly: on the GitHub runner inkan scored 91.0 and Fastify 89.9. inkan was ahead in two runs and level in the third, so I’m calling it level to slightly ahead, not faster. At first 0.8 even looked slower than 0.7, so I measured the CPU time per request separately, and it’s exactly the same as 0.7. The difference was the test machine moving around. One bug I only found during the release: on Node 22 a websocket that gets refused never tells you, it just waits forever. That’s fixed in 0.8.1. Next: I want to make writing adapters for other servers easier, and I still want someone from Fastify and Hono to look at my benchmark code. See you next time ✨...
|
1793739215.9765766
|
1794344015.9765766
|
|
68315
|
My very own WebOS by @ez | Stardance
|
ez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ez | Stardance
|
1793739217.955887
|
1794344017.955887
|
|
68316
|
my place by @Gooseishere | Stardance
|
Gooseishere
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my place by @Gooseishere | Stardance
|
1793739221.4407485
|
1794344021.4407485
|
|
68317
|
My first slack bot! by @adome595 | Stardance
|
adome595
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @adome595 | Stardanc Title: My first slack bot! by @adome595 | Stardance...
|
1793739224.030825
|
1794344024.030825
|
|
68318
|
Emina's Orbit by @Emina-ahmed-challa | Stardan Emina's Orbit by @Emina-ahmed-challa | Stardance...
|
Emina-ahmed-challa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Emina's Orbit by @Emina-ahmed-challa | Title: Emina's Orbit by @Emina-ahmed-challa | Stardance...
|
1793739226.9307063
|
1794344026.9307063
|
|
68319
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760860.3457036
|
1794624860.3457036
|
|
68320
|
BLARE by @nidhishgulati | Stardance
|
nidhishgulati
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @nidhishgulati | Stardance
|
1793739232.3769584
|
1794344032.3769584
|
|
68321
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760861.2132988
|
1794624861.2132988
|
|
68322
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760862.0595956
|
1794624862.0595956
|
|
68323
|
Daily Dashboard by @TeddyV | Stardance
|
TeddyV
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Daily Dashboard by @TeddyV | Stardance
|
1793739234.1076977
|
1794344034.1076977
|
|
68324
|
Anamnesis by @Eclipse | Stardance
|
Eclipse
|
0
|
5.36
|
0
|
[]
|
[{"post_id": 78441, "ts": "202 [{"post_id": 78441, "ts": "2026-10-10T20:13:21Z", "hours": 2.0125, "text": "Anamnesis: Phase-1 (The Beginning) As the title suggests, I’m done with phase 0, aka some prep and basic backbone of the project. . Tho I tried adding a graph using matplotlib, but it looked quite bland n didn’t serve any useful purpose… so I’ve kept the UI for the end ( at least for now ), and removed the existing graph… . So, from now on, I shall be working on phase-1, which includes: Protein sequence collection Phylogenetic reconstruction Ancestral sequence reconstruction Evolutionary uncertainty Ancient protein candidates And that, ladies and gentlemen, is the real beginning of Anamnesis… . P.S. Till now development was slower as I needed to focus on my studies and stuff, but from now on, things should be swifter…. :)"}, {"post_id": 77799, "ts": "2026-10-08T10:54:36Z", "hours": 3.3478, "text": "Anamnesis: The Beginning This project shall serve as my endgame. . This idea of Anamnesis is simple: Reconstruct ancestral proteins from hundreds of millions of years ago, reconstruct their structures, simulate their molecular dynamics, and trace how mutations transformed their stability, flexibility, and function. Then extend the evolutionary framework to cancer: model how mutations reshape cellular dynamics and search for previously overlooked dynamical states that may make cancer cells unusually vulnerable. . And as you can tell by the time I’ve logged this, I’ve already started working on the basics, that is, I’m still a newbie at biology, and need to learn quite a few things while building it. . Either way, the program can now read the protein, its data and its individual amino acids while knowing which letter corresponds to which amino acid… . A weird incident, that is, I literally wrote my own parser start to end, to read the data related to protein,, only to then realize I could’ve used Biopython instead…. (genius Ik 🥀) . But yeah,, I’ll try to develop the project as fast as I can while learning the biology underneath it (a rare moment in life where you genuinely feel thankful for naturally being a really quick learner). . Soo… that’s it for today? Have a great evening..! 🕯️"}]...
|
Title: Anamnesis by @Eclipse | Stardance
Devlogs: Title: Anamnesis by @Eclipse | Stardance
Devlogs:
Anamnesis: The Beginning This project shall serve as my endgame. . This idea of Anamnesis is simple: Reconstruct ancestral proteins from hundreds of millions of years ago, reconstruct their structures, simulate their molecular dynamics, and trace how mutations transformed their stability, flexibility, and function. Then extend the evolutionary framework to cancer: model how mutations reshape cellular dynamics and search for previously overlooked dynamical states that may make cancer cells unusually vulnerable. . And as you can tell by the time I’ve logged this, I’ve already started working on the basics, that is, I’m still a newbie at biology, and need to learn quite a few things while building it. . Either way, the program can now read the protein, its data and its individual amino acids while knowing which letter corresponds to which amino acid… . A weird incident, that is, I literally wrote my own parser start to end, to read the data related to protein,, only to then realize I could’ve used Biopython instead…. (genius Ik 🥀) . But yeah,, I’ll try to develop the project as fast as I can while learning the biology underneath it (a rare moment in life where you genuinely feel thankful for naturally being a really quick learner). . Soo… that’s it for today? Have a great evening..! 🕯️
Anamnesis: Phase-1 (The Beginning) As the title suggests, I’m done with phase 0, aka some prep and basic backbone of the project. . Tho I tried adding a graph using matplotlib, but it looked quite bland n didn’t serve any useful purpose… so I’ve kept the UI for the end ( at least for now ), and removed the existing graph… . So, from now on, I shall be working on phase-1, which includes: Protein sequence collection Phylogenetic reconstruction Ancestral sequence reconstruction Evolutionary uncertainty Ancient protein candidates And that, ladies and gentlemen, is the real beginning of Anamnesis… . P.S. Till now development was slower as I needed to focus on my studies and stuff, but from now on, things should be swifter…. :)...
|
1793465298.5621538
|
1794329298.5621538
|
|
68325
|
ODM Custom Controller Macropad by @angiraa | Stard ODM Custom Controller Macropad by @angiraa | Stardance...
|
angiraa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ODM Custom Controller Macropad by @angiraa Title: ODM Custom Controller Macropad by @angiraa | Stardance...
|
1793739236.7185543
|
1794603236.7185543
|
|
68326
|
VTOL by @Nyrox | Stardance
|
Nyrox
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: VTOL by @Nyrox | Stardance
|
1793739240.716426
|
1794344040.716426
|
|
68327
|
Edit_X by @SimplifCoder | Stardance
|
SimplifCoder
|
0
|
12.22
|
0
|
[]
|
[{"post_id": 78674, "ts": "202 [{"post_id": 78674, "ts": "2026-10-11T08:22:22Z", "hours": 3.6094, "text": "Devlog #4 So as of this devlog I’m proud to announce ; Ladies and gentlemen the website is broken; Let me explain, so I was causally doing the js, then I thought came to me, what if… then I started tinkering with the html, and now boom, I refreshed the page its completely blank, I mean I don’t know where I went wrong?? The code looks fine but the website doesn’t?, Ill drop the html code, and how the website looks, if I fix the problem ill upd the devlog"}, {"post_id": 78090, "ts": "2026-10-09T15:17:28Z", "hours": 2.4061, "text": "Devlog #3 So as of this devlog I am proud to announce the css is completed . What I completed: CSS, I think? (I hope) HTML, Well mostly fixed Started the JS. The first 2 lines thats it. Problems I ran into: The CSS didn’t work, works now… until I decide to touch it. The HTML completely broke, cuz I forgot to add Welp, That’s mostly it! If you have any suggestions pls do inform me, I’m still new to coding! Cyall, byeeeeeeeeeeeeeeeee"}, {"post_id": 77870, "ts": "2026-10-08T16:41:35Z", "hours": 3.2186, "text": "Devlog #2 So in the last devlog I think I showed yall the page with the bare minimum of css… well this now is the almost completed css. What I completed today : -Made the website look rly nice with cool stuff, like gradients. -Made buttons! yea, buttons that click! and work! The problems I ran into: The css didn’t even connect to the html at first (quick fix) The gradients aren’t in the right colors, in fact most of the colors look nice but, I’m planning to change them to an space black theme, or an ocean blue theme. Pls do comment your suggestions, I always love advice, I’m ready to improve Cyall byeeeeeeeeeeeee"}, {"post_id": 77519, "ts": "2026-10-07T09:41:13Z", "hours": 2.9819, "text": "#Devlog #1 This is an brand new project I’m making, Its going to be an simple platform used make fire edits. What I completed today: Wrote the basic introduction to the website. Coded an upload button Problem I’m running into: -The upload button takes the files then shows an error -The css file doesn’t work…. At all. I would love feedback and how to fix the stuff, Cyall"}]...
|
Title: Edit_X by @SimplifCoder | Stardance
Devlog Title: Edit_X by @SimplifCoder | Stardance
Devlogs:
#Devlog #1 This is an brand new project I’m making, Its going to be an simple platform used make fire edits. What I completed today: Wrote the basic introduction to the website. Coded an upload button Problem I’m running into: -The upload button takes the files then shows an error -The css file doesn’t work…. At all. I would love feedback and how to fix the stuff, Cyall
Devlog #2 So in the last devlog I think I showed yall the page with the bare minimum of css… well this now is the almost completed css. What I completed today : -Made the website look rly nice with cool stuff, like gradients. -Made buttons! yea, buttons that click! and work! The problems I ran into: The css didn’t even connect to the html at first (quick fix) The gradients aren’t in the right colors, in fact most of the colors look nice but, I’m planning to change them to an space black theme, or an ocean blue theme. Pls do comment your suggestions, I always love advice, I’m ready to improve Cyall byeeeeeeeeeeeee
Devlog #3 So as of this devlog I am proud to announce the css is completed . What I completed: CSS, I think? (I hope) HTML, Well mostly fixed Started the JS. The first 2 lines thats it. Problems I ran into: The CSS didn’t work, works now… until I decide to touch it. The HTML completely broke, cuz I forgot to add Welp, That’s mostly it! If you have any suggestions pls do inform me, I’m still new to coding! Cyall, byeeeeeeeeeeeeeeeee
Devlog #4 So as of this devlog I’m proud to announce ; Ladies and gentlemen the website is broken; Let me explain, so I was causally doing the js, then I thought came to me, what if… then I started tinkering with the html, and now boom, I refreshed the page its completely blank, I mean I don’t know where I went wrong?? The code looks fine but the website doesn’t?, Ill drop the html code, and how the website looks, if I fix the problem ill upd the devlog...
|
1793119969.958875
|
1793983969.958875
|
|
68328
|
My awesome macropad! by @Coralei | Stardance
|
Coralei
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Coralei | Stardanc Title: My awesome macropad! by @Coralei | Stardance...
|
1793739244.1685529
|
1794344044.1685529
|
|
68330
|
RFID Door Lock System by @Ram1 | Stardance
|
Ram1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RFID Door Lock System by @Ram1 | Stardance
|
1793739246.7541862
|
1794344046.7541862
|
|
68331
|
Option Pricing Calculator by @adityakashyapxyz | S Option Pricing Calculator by @adityakashyapxyz | Stardance...
|
adityakashyapxyz
|
0
|
13.16
|
0
|
[]
|
[{"post_id": 77458, "ts": "202 [{"post_id": 77458, "ts": "2026-10-07T02:34:53Z", "hours": 8.7667, "text": "Good morning"}, {"post_id": 77354, "ts": "2026-10-06T17:16:13Z", "hours": 4.3981, "text": "Started working on the option pricing project"}]...
|
Title: Option Pricing Calculator by @adityakashyap Title: Option Pricing Calculator by @adityakashyapxyz | Stardance
Devlogs:
Started working on the option pricing project
Good morning...
|
1793739250.0506132
|
1794344050.0506132
|
|
68332
|
My own site! by @Smaya | Stardance
|
Smaya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Smaya | Stardance
|
1793739254.1330273
|
1794344054.1330273
|
|
68333
|
Untitled project by @Pendown | Stardance
|
Pendown
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Pendown | Stardance
|
1793739255.0310833
|
1794344055.0310833
|
|
68334
|
Beacon by @dhruvrsingh | Stardance
|
dhruvrsingh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Beacon by @dhruvrsingh | Stardance
|
1793739256.8376977
|
1794344056.8376977
|
|
68335
|
Blueprint by @dhruvrsingh | Stardance
|
dhruvrsingh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blueprint by @dhruvrsingh | Stardance
|
1793739260.2832768
|
1794344060.2832768
|
|
68336
|
raspberry pi hole! by @emilia-fish | Stardance
|
emilia-fish
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: raspberry pi hole! by @emilia-fish | Starda Title: raspberry pi hole! by @emilia-fish | Stardance...
|
1793739262.8847911
|
1794344062.8847911
|
|
68337
|
My Personal Website by @udayprakashgupta999 | Star My Personal Website by @udayprakashgupta999 | Stardance...
|
udayprakashgupta999
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My Personal Website by @udayprakashgupta999 Title: My Personal Website by @udayprakashgupta999 | Stardance...
|
1793739266.3645475
|
1794344066.3645475
|
|
68338
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760864.2341688
|
1794624864.2341688
|
|
68339
|
my blog by @LPcomix123 | Stardance
|
LPcomix123
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my blog by @LPcomix123 | Stardance
|
1793739268.9857345
|
1794344068.9857345
|
|
68340
|
Online Emergency Platform by @EhtishamCodes | Star Online Emergency Platform by @EhtishamCodes | Stardance...
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Online Emergency Platform by @EhtishamCodes Title: Online Emergency Platform by @EhtishamCodes | Stardance...
|
1793739274.2429988
|
1794344074.2429988
|
|
68341
|
BLARE by @Adarsh123 | Stardance
|
Adarsh123
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @Adarsh123 | Stardance
|
1793739278.5268903
|
1794344078.5268903
|
|
68342
|
My awesome macropad! by @sonu | Stardance
|
sonu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @sonu | Stardance
|
1793739281.982441
|
1794344081.982441
|
|
68343
|
sorry I'm moving these by @Eucatastrophe | Sta sorry I'm moving these by @Eucatastrophe | Stardance...
|
Eucatastrophe
|
0
|
13.46
|
0
|
[]
|
[{"post_id": 82133, "ts": "202 [{"post_id": 82133, "ts": "2026-10-24T01:34:59Z", "hours": 3.0214, "text": "this is version 4! version 5 had one less gear segment & doesn’t have the last gear, and v6 be will the final prod model if v5 works"}, {"post_id": 80863, "ts": "2026-10-19T02:44:46Z", "hours": 0.2589, "text": "Possible V4? OK SO friction is a huge problem, bearings staying in place is a problem, gluing stuff together with gel cyanoacrylate is a huge problem. This is going to take longer than I thought lol. Namely, I have to rethink the design,, along with backdriving a DC motor anyway. But it worked a couple times, temporarily."}, {"post_id": 80069, "ts": "2026-10-16T04:38:58Z", "hours": 0.9492, "text": "hopefully that works, had to hunt down the datasheet from this obscure aliexpress product"}, {"post_id": 79676, "ts": "2026-10-15T01:13:16Z", "hours": 3.0164, "text": "there’s nothing wrong with v2 theoretically, but I made a v3 that would make it more compact and fit better with small bearings. so here’s v3!"}, {"post_id": 79216, "ts": "2026-10-13T02:03:46Z", "hours": 0.3344, "text": "nicer looking gears!"}, {"post_id": 78647, "ts": "2026-10-11T05:07:07Z", "hours": 1.7058, "text": "watch me haul ass to a gear system instead of using pulleys new gear system is 20/9 * (52/9) * (52/9) * (20/9) = 165:1"}, {"post_id": 77754, "ts": "2026-10-08T05:15:59Z", "hours": 0.3069, "text": "It generates 3 volts yay At a pretty slow spin it generates 3 volts! I’ll probably add an attachment to spin it with. Also here’s my collection of parts so far, the top wheels snap-fit into the bottom ones!"}, {"post_id": 77553, "ts": "2026-10-07T12:47:38Z", "hours": 0.3069, "text": "Made a schematic and worked on the README Good 5AM everybody :> Here’s a schematic! . Since DC motors are gonna output anywhere from -9V to 9V depending on how fast/how we crank the dynamo, we’ll need something to turn it into a stable 5V in a USB-C. . This uses a full bridge rectifier (schottky diodes) to make the voltage positive. The amperage of this generated voltage is super low, so the UPS module will use it to power a battery, which then trickles high amp voltage into the phone."}, {"post_id": 77542, "ts": "2026-10-07T12:11:43Z", "hours": 3.565, "text": "Worked on a CAD! This is a dynamo, for backdriving a DC motor to produce a voltage across both ends. The purpose, ultimately, is to be able to convert it into a stable 5V at enough amps to charge a phone. First we’d have to get the motor spinning though, at about 8300 RPM / 60 = 138 RPS. I thought about using a gear train to backdrive it but there seems to be too much friction, so I’m using a wheel and rubber band system. The ratio is about 6:1 *8:1, for a total of 48:1. So hopefully brisk spins would work? Otherwise, we would just need one really big sprocket."}]...
|
Title: sorry I'm moving these by @Eucatastroph Title: sorry I'm moving these by @Eucatastrophe | Stardance
Devlogs:
Worked on a CAD! This is a dynamo, for backdriving a DC motor to produce a voltage across both ends. The purpose, ultimately, is to be able to convert it into a stable 5V at enough amps to charge a phone. First we’d have to get the motor spinning though, at about 8300 RPM / 60 = 138 RPS. I thought about using a gear train to backdrive it but there seems to be too much friction, so I’m using a wheel and rubber band system. The ratio is about 6:1 *8:1, for a total of 48:1. So hopefully brisk spins would work? Otherwise, we would just need one really big sprocket.
Made a schematic and worked on the README Good 5AM everybody :> Here’s a schematic! . Since DC motors are gonna output anywhere from -9V to 9V depending on how fast/how we crank the dynamo, we’ll need something to turn it into a stable 5V in a USB-C. . This uses a full bridge rectifier (schottky diodes) to make the voltage positive. The amperage of this generated voltage is super low, so the UPS module will use it to power a battery, which then trickles high amp voltage into the phone.
It generates 3 volts yay At a pretty slow spin it generates 3 volts! I’ll probably add an attachment to spin it with. Also here’s my collection of parts so far, the top wheels snap-fit into the bottom ones!
watch me haul ass to a gear system instead of using pulleys new gear system is 20/9 * (52/9) * (52/9) * (20/9) = 165:1
nicer looking gears!
there’s nothing wrong with v2 theoretically, but I made a v3 that would make it more compact and fit better with small bearings. so here’s v3!
hopefully that works, had to hunt down the datasheet from this obscure aliexpress product
Possible V4? OK SO friction is a huge problem, bearings staying in place is a problem, gluing stuff together with gel cyanoacrylate is a huge problem. This is going to take longer than I thought lol. Namely, I have to rethink the design,, along with backdriving a DC motor anyway. But it worked a couple times, temporarily.
this is version 4! version 5 had one less gear segment & doesn’t have the last gear, and v6 be will the final prod model if v5 works...
|
1793739286.3082848
|
1794344086.3082848
|
|
68344
|
hackpad thingy by @chezburger | Stardance
|
chezburger
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hackpad thingy by @chezburger | Stardance
|
1793739291.4378252
|
1794344091.4378252
|
|
68345
|
hackpad thingy by @chezburger | Stardance
|
chezburger
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hackpad thingy by @chezburger | Stardance
|
1793739294.940953
|
1794344094.940953
|
|
68346
|
WarioWare Game by @tlen | Stardance
|
tlen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @tlen | Stardance
|
1793739297.0060868
|
1794344097.0060868
|
|
68347
|
College roommate match by @elliebuff | Stardance
|
elliebuff
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: College roommate match by @elliebuff | Star Title: College roommate match by @elliebuff | Stardance...
|
1793739299.6162539
|
1794344099.6162539
|
|
68349
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793760865.08087
|
1794624865.08087
|
|
68350
|
My awesome macropad! by @Raeed | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Raeed | Stardance
|
1793739302.2020032
|
1794344102.2020032
|