|
11289
|
fabrica by @acandoo | Stardance
|
acandoo
|
0
|
64.36
|
0
|
[]
|
[{"post_id": 16534, "ts": "202 [{"post_id": 16534, "ts": "2026-06-26T21:55:13Z", "hours": 2.6689, "text": "hello again! my main focus for this devlog has been on experimenting with loading/transition behavior for queries. before, the page would remove all of the card components and just show a “Results: loading…” screen and an unstyled <li> loading element, but i wanted to improve that and make it more animated and less “flashy”. the first part of the transition comes on the “leading edge”, when the user updates their query and information has not yet been fetched. if i let the previous cards and results stay up, the site will be perceived as laggy and not responsive. so, my instinct would be to place a “skeleton UI” but that in itself would be a DOM update/layout reflow, which i wanted to avoid for performance reasons. i tried blurring individual card elements, but i didn’t like how it looked. maybe i settle with a skeleton UI or come up with some other combination of CSS effects, i don’t know. either way, i didn’t want the effect to show up if the request hits the cache, so instead of using solid.js’s existing useTransition hook, i manually combined the underlying startTransition function with my own pending signal, which i only set to true if the query was not found in the cache. this does mean that on cache hits the code looks up the map two times (once on the initial check for the pending signal, another on the resource fetch), but i don’t think trying to optimize that away with a boolean or something would end up being faster than just letting v8 optimize the double Map lookup. for the second part–or, trailing edge–of the interaction, i had this idea of constructing a view transition so that cards that showed up previously would move nicely to their resulting spot. that unfortunately made things really laggy, especially since view-transition-name would be declared on both the cards themselves and many items within the card, as those would need to be labeled for the view transition to the product page. the visual effect was really nice though, so my plan to make it work is to finally introduce virtual scroll… yes i know i’m fixing more javascript with more javascript, but at least the site works without it! right?! additional minor thoughts: i’m starting to not like the star/basket buttons. i was looking online for product card inspiration, and most of the designs i found were a lot more minimal, many of them even omit the “Learn more” button for a cleaner visual aesthetic. for now i’ll probably change out the buttons to just the underlying icon outlines, but keep the bounding box. my qualm with removing “Learn more” is discoverability on mobile, since i couldn’t disclose product page functionality through a hover effect. maybe once the card reaches a certain height on the viewport then i’ll activate the hover progresive disclosure for mobile, but idk. maybe i should fetch in the background? with the transition effect, it would be nice for it to apply when you backspace, and at that point the site isn’t really doing any more network stuff aside from prefetching hovered cards, so i could fetch all of the sliced versions of the query (i.e. for “beam” it would fetch “b”, “be” and “bea” in the background). should i persist the results count on scroll? maybe integrated within the navigation bar, or in smaller text in a pill under, idk."}, {"post_id": 15325, "ts": "2026-06-24T21:56:53Z", "hours": 3.2861, "text": "hello! so far i’ve been working on responsive/adaptive design for the search page. i’m kinda putting off doing the individual pages in place of refining the search page. the logo is properly sized on safari. i don’t know what is it about safari and fit-content that just makes everything break horribly, but i had to choose manual widths for making the logo adaptive instead of relying on the image width. for some reason the logo tile gradually increases width despite me setting the width as static (gah css!). at some point in the future i should integrate the UI work with browserstack/tests. the hero page is now a proper <a> element instead of an <input> with focus intercepted. to keep compatibility with no javascript, it SSR’s as an <input> element before switching out to an <a> on component mount. this means that on mobile the keyboard won’t open and close when trying to search. unfortunately iOS safari doesn’t support autofocus… the nav bar is now the same width as the cards. the culprit was an empty div… i had adjusted for flexbox gap being janky by adding more padding, but now that i eliminated the element i could remove the padding composition and make everything the same width. this does mean that when scrolling down the curvature of the search bar/logo isn’t consistent with the title cards, but hey everything’s a compromise. bigger card buttons & button icons. they feel almost too big, but i know that click targets are important for accessibility. i also made the “Learn more” button a full pill instead of a rounded square. i guess the convention i’m intuitively going for is “rounder UI elements = more desired/friendly path”. i’m still upset that the icon library doesn’t work, it would be so nice. even more adaptive cards. i set up the breakpoints so that the image moves vertical first, then once there’s not enough space for the “Learn more” button the star and basket, the star and basket disappear since their functionality can be on the product page."}, {"post_id": 14180, "ts": "2026-06-23T05:26:35Z", "hours": 3.0925, "text": "yeah so i ended up working more… i finished up the transition to card view. i had a lot of trouble because i was putting the shrink/grow/basis tailwind classes in the <article> tag within the <li> which meant that all the flexbox stuff wasn’t applying properly. 😅 i figured out how to get that ellipses text wrapping. for some reason i couldn’t get overflow: hidden + whitespace: nowrap to work without completely breaking the flow of the page, but line-clamp did work! a bunch of miscellaneous work. added a no-JS warning to the /search page, changed the tracked event for the initial search page preload and filtered so it was only mouse hovers, stricter pre-commit hook, font preload, and color changes. i need to work on the product pages next, but also i have been caught by scope creep.. i’ve decided that in the future i want to add auth and user/organization work and an actual database since now i want the project to become an inventory system itself. it makes sense UI wise and i’ll get to play with databases finally. for first ship though i’ll probably just use localStorage. since the attached recording i’ve added placeholder buttons for adding to favorites and the shopping cart… the favorites button is easy enough, it’s just a toggle, maybe some cute css animations, though whether the auth solution i end up (probably betterauth) supports it is a whole other story… the shopping cart is a different level of hard JS-less though especially since there’s not enough UI space to add a quantity amount. my plan for the interaction was that hover inactive would give the “Add to shopping cart” dialog, click inactive -> active opens up a quantity dialog, setting the quantity to 0 resets the buttom, and hover active brings up the quantity dialog again."}, {"post_id": 13931, "ts": "2026-06-22T21:06:34Z", "hours": 4.9658, "text": "productive day of UI work today! i started off by taking care of some meta-work within the repo. i added a pre-commit hook for linting and formatting, added tailwind class sorting to my formatter config, pushed more vscode settings and extensions to the repository, updated pnpm, and also put a pre-install hook so that others that try setting up the repository without pnpm will get a warning (at least in theory). in the future i want to add a hook to enforce gitmoji but i’ll leave that for free time when i’m less motivated to code. i added a view transition for the logo going into search. i just put the logo within its own Solid component so that both the home page and search have the same view-transition-name . i also made it adaptable on the search screen so it collapses to its smaller form by just cropping the svg instead of making another network request. though if i wanted that as flexible as possible i’d probably modify the <picture> element to also media-query-match against device width. that way graceful degradation also works JS-less. product cards look a lot nicer! now unfortunately i have a bunch of duplicate js styles across a lot of components, so i’ll probably set down some base styles or classes. what i would love for CSS are tailwind utility classes where the groupings are build-time optimized. there are still a couple of things on my plate UI-wise: some of the UI cards aren’t occupying the full width. idk why since i set their width via w-full but idk i’m probably going to switch out the UI to more of a grid formation anyways. turn the cards into a grid formation. they’re way too long and taking up valuable space. figure out what to do with text. i tried getting only the first sentence, i tried overlay: hidden , i’m not sure but am currently leaning towards some sort of blur/fade effect. make the <Suspense> boundary narrower. my current desired functionality is for all the cards to “gray out” but with the original item list length, before the resource is fetched and the dom update happens. minimal DOM update on resource fetching. i need to swap out the signal-backed Resource for a store-backed one that reconciles, but i still have to figure out solid.js’s API shape. and also tanstack virtual but i need to do cards first. product pages."}, {"post_id": 13563, "ts": "2026-06-22T06:23:49Z", "hours": 8.1175, "text": "okay, take two on writing through this devlog since stardance just consumed my writing since it went over the word limit… i did a lot of work since my last devlog with the UI, from view transitions to SSR to SEO to wrestling with build tools and broken npm packges. i don’t have the energy to write through everything again but i do have this demo that shows off just how cool view transitions are, the speed of SSR (though i had to make it cold start, which again i can’t be bothered to write about why a second time), and graceful degradation for javascript-less environments. next up i’m working on some housekeeping stuff with sorting tailwind classes, then formatting the search page, wiring up view transitions between the search page and product pages, more DOM optimization with better solid.js state management, and maybe adding tanstack virtualizer (though it’s kinda overkill, but allows me to just set every image to eagerly load) and keeping support for no-JS. please stardance team could you fix entries getting sent into the void i wrote a really good devlog entry the first time around…"}, {"post_id": 12347, "ts": "2026-06-20T04:26:55Z", "hours": 2.6478, "text": "i don’t have much to share so far, been reading documentation & doing miscellaneous work, but right now i’m getting myself carried away with color palettes and fonts and branding design first. i designed a lil’ logo! i’ll update the banner for this project to include the logo and typography and whatnot, but i decided on fonts (dm sans for display, ibm plex sans/mono, i know hurr hurr very original). originally i was going to use space grotesk as the display/heading font but i didn’t want my website to look too much like axon robotics et al. and i didn’t want to use orbitron because i feel like the wordmark should be a distinct font/character. i emailed gobilda asking about CAD file scraping and their GraphQL endpoint that I discovered (which unfortunately needs credentials…), which gives me an excuse to not worry about the parsing issues with the scraper until they email me back or a week has passed. so in the meantime, i’ll work on web design. in terms of pure functionality though i did also add a static product page generator for each of the products, which was why i thought astro was a really great fit for this project since i’m focusing on moving more stuff to build-time and improving DX instead. i do want to set up an account system and auth and all that jazz because the next big feature would be automatic PRs from suggestions, that just adds/modifies a json file in a partdb overrides folder in the repo. that’ll also give me an excuse to validate my monorepo design by putting some of that logic in another package. finally, i know in my ai policy i’m using ai very minimally and i’ve disabled ai features in vscode… but could we let this one slide :) why those hex codes specifically iykyk"}, {"post_id": 11484, "ts": "2026-06-18T19:20:13Z", "hours": 4.1439, "text": "IT WORKS!!!!!!! okay so for some reason the type signature of the search library that i’m using, flexsearch, didn’t give the right type signatures for when i put in enrich: true on searching. i had to do some manual array processing, which probably slows down the results a bit but it’s still under 15 milliseconds max. it’s incredibly fast, it seems like the bundle would work for edge functions so it’d be similarly fast in real life, and i can’t wait to implement the service worker backend to make things even faster. from here i want to refine the querying so you can filter by manufacturer, categories, etc. and refine the database items. and also have a pretty UI :)"}, {"post_id": 10948, "ts": "2026-06-17T23:12:45Z", "hours": 0.9117, "text": "most of the parsing issues have been fixed! the final list is 1321 items, which is the same amount as previous scrapes, so i don’t think there are any issues there. a couple things still worry me a bit (but they’re not things that hinder progress elsewhere): the build command lingers after it says it’s finished building. i suspect it’s because some promise ends up never resolving, but i’ll have to look into that further the specifications field is messed up. i should also add a string sanitizer later on to the helpers file, but in the migration to cheerio something with the specification parsing logic got messed up. a cached build still takes two minutes. ideally i would like it to be more around the 30 second range, but i have to figure out if there are any bigger things worth caching. there’s just a type error i have to deal with when it comes to error handling, and everything should be good! i’ll move on to more site prototyping since i have a dummy database to test things against."}, {"post_id": 10911, "ts": "2026-06-17T21:42:48Z", "hours": 3.5503, "text": "update: i’ve moved all of the logic to use cheerio and worker threads! i tried running just build , and… of course, it didn’t work. a few of the issues were easy to diagnose: i forgot to create a directory on startup, or put .js instead of .ts as a dynamic import path, or potentially had multiple concurrent writes that could occur. but now, i’m encountering an issue where my requests don’t want to transfer, which i initially assumed was because the object had too many layers.. but trying structuredClone on a similar object works. for other work: i’ve finally removed JSDOM from dependencies, and also updated pnpm on the side. i enabled sorting imports, which helped clean up some of the mess that was accumulating. i added helper scripts for dealing with the cache. finally, i moved the rate limited fetch within the goBILDA adapter and passed as an argument to helper functions, which would allow for future adapters to have their own rate limits."}, {"post_id": 10747, "ts": "2026-06-17T17:13:36Z", "hours": 0.7389, "text": "I LOVE METAPROGRAMMING okay so for some background i worked on moving the getPages method of the goBILDA adapter to a worker thread method (which parses the goBILDA sitemap to get the main category pages), but i realized from the type error that occurred that the whole type inference debacle got messed up as there was no url parameter in the method input… so now i’ve unleashed a generic-type guard-inference inferno. typescript is a turing complete language combined with a turing complete type system… but at least there aren’t any generics explicitly declared within the code, nor any as keywords sprinkled through this section!"}, {"post_id": 10463, "ts": "2026-06-17T06:06:16Z", "hours": 4.1686, "text": "got busy this past week with a bunch of other duties, so slow progress. i set up a thread pool class with a promise API and type safety… which is kinda overkill but that’s a bit of the whole goal with this project :p but so far i offloaded initially parsing the web page for a <meta http-equiv=\"refresh\"> and determining the link. which is not a long task, so not a huge main thread blocker! but it would allow me to cement the code structure with the worker pool. the thing was, i really wanted to optimize this build, and the useCache hook i wrote only supported JSON stringifyable values, which means no array buffers. the fetch API allows you to get the response directly as an ArrayBuffer, which, once you mark as transferrable, means that a thread can work directly on the buffer without having to copy all of the data. and since memory contention is one of the two problems i’m trying to solve here… that’s incredibly useful. the thing was, i couldn’t just insert it directly into the JSON cache entry since it would be parsed by JSON.parse as a string, so i set up another content-addressed directory ( cache/blobs instead of cache/files , where most things go) and modified the types to ensure that it was still type safe. turns out… making that type work out in the function was a PAIN,, especially considering i had generics involved. i was able to work through it with an atrocious amount of as keywords sprinkled throughout, but it’s not very elegant. in terms of the site, i opened up figma and started working on some prototypes! i’ve been meaning to learn figma and figured this was the perfect opportunity to go through the process. i love how, for the most part, everything is really intuitive. but the “frame” and “group” and “component” concepts being separate things was really confusing to me. i’m really tired and about to lose my train of thought but for tomorrow i’ll work on porting the rest of the DOM processing over to the worker threads and to cheerio. i’ll also probably have to rethink how code is organized because now the “adapter” is split across two files. there’s definitely a way to make things more elegant, though."}, {"post_id": 8497, "ts": "2026-06-14T03:57:04Z", "hours": 1.4094, "text": "many OOMs and attempts to use chrome devtools later… i think tomorrow i’m going to switch out everything to use cheerio instead of JSDOM to reduce memory usage, then maybe add a thread pool while i’m at it. currently i’ve just bumped the “old memory” limit up to 16 WHOLE GIGABYTES…. gah javascript.. i’ll also have to debug a JSON parsing problem with a few of the pages. i have no idea what it might be aside from JSON.parse being finicky or JSON.stringify not properly escaping but i highly doubt that’s the reason."}, {"post_id": 8421, "ts": "2026-06-14T00:10:46Z", "hours": 1.8519, "text": "so i tried caching webpages and… um… whoops. there are so many footguns with concurrency… i had to modify a record to also store a promise chain so that writes didn’t happen concurrently… and i had run out of memory on a rebuild with cached elements which i assumed was because i was thrashing the filesystem by immediately closing file descriptors once things were read, so i set up an object to keep the file handles around but because of the async boundary they had gotten garbage collected… urgh"}, {"post_id": 8352, "ts": "2026-06-13T21:39:28Z", "hours": 8.8886, "text": "wow i haven’t logged in a while! the past few days were the last bits of school, so not a lot of work done per day. i’ve decided to change up how the partdb is built, since i discovered unplugin-macros which really helps streamline build-time logic and the final export of the package. combined with tsdown the whole build situation of the package is a lot cleaner. in addition, i added filesystem-level caching so that when this eventually gets built on github actions it will have a cache folder that it can use, and with proper expiration handled. i still have to fine tune what computations get cached, but soon hopefully cached builds won’t take the heat death of the universe to complete! since the caching is time stamped it also makes garbage collection of the cache trivial and runnable in a github action. that code isn’t written yet but isn’t too hard. for that reason i also bumped up the node version because i wanted to use Temporal to deal with timestamps and durations :) in terms of other minor things: a rudimentary site package was added, with a template astro site. i did research into different serverless platforms lint errors fixed more code comments/inline documentation made the just build recipe functional proper error message logging for product page parsing i’ll get out of my meta-work slump soon, soon!!"}, {"post_id": 5343, "ts": "2026-06-09T02:32:50Z", "hours": 1.1783, "text": "not much to update on, but i decided to clean up the commit history with gitmoji . shout out gleamlins for showing me gitmoji! i wanted to implement it for this project because i think it’s really neat and cute! there are probably still some stylistic discrepancies/wrong things within the commit history but for now my perfectionism is satisfied :)"}, {"post_id": 5030, "ts": "2026-06-08T18:03:31Z", "hours": 0.5753, "text": "VICTORY!!! from here it’s a matter of refining the scraper to make sure there are no duplicates / useless parts / specs are good. the final pieces of the puzzle were removing JSDOM caching to reduce memory usage (since i already check for duplicates reasonably well before the request is made), adding some more filtering for irrelevant products, manually garbage collecting with global.gc() (!!), and allowing for errors in product parsing. i could probably make it more robust by forcing all the categories to be evaluated before products."}, {"post_id": 4991, "ts": "2026-06-08T17:14:15Z", "hours": 1.7214, "text": "i crashed node 😭😭😭 the final pieces were adding lists of already-visited websites, and rate limiting myself so i don’t crash goBILDA. whoops…. i need to break up writes to the file in smaller pieces. i’ll probably write per product processed. and since things are bound to go wrong with a scraper there’s probably some exception to the rule with some random product that doesn’t make it in the scraper / isn’t processed correctly."}, {"post_id": 4591, "ts": "2026-06-07T22:55:54Z", "hours": 1.5803, "text": "alright, final bit of work for today. since the last log, i put some more logging messages and files to diagnose different issues. i caught one where sometimes goBILDA didn’t redirect through an HTTP code but rather through <meta http-equiv=\"refresh\"> which was annoying. and some category pages had a link to other category pages given the SAME SET OF ATTRIBUTES AS PRODUCTS, or took from an entirely different place in the DOM because the product list is CLIENT SIDE RENDERED. i’m sorry but i am NOT about to pull out puppeteer for a (presumably) 1,000+ SKU website. i also added a cache to fetched URLs so that i didn’t bombard goBILDA with duplicate requests as i worked. also on that note, i put in a custom user agent while i was at it so that they hopefully don’t block what i’m doing 😊 tomorrow i’ll also probably work on deduplicating DOM queries by keeping track of a list of scanned product pages and filtering out pages that are irrelevant for the catalog’s purposes."}, {"post_id": 4442, "ts": "2026-06-07T19:24:16Z", "hours": 1.1836, "text": "we are getting somewhere!!! now a couple of more rounds of bug fixing and i should have all the metadata for products for goBILDA! from there it’s manual overriding and filtering to remove bundles and anything of that sort."}, {"post_id": 4356, "ts": "2026-06-07T17:25:41Z", "hours": 7.6792, "text": "hey everyone! i’ve been thinking through this project in notes (and in my head) for a little while now, and just got started putting things down in code starting friday or so. i’m working on fabrica, an overengineered parts library/search engine for robotics teams. currently i’ve structured out how to code static database generation, decided on repository structure, and scaffolded tooling and helper functions for later use, and am now working on a data scraper for goBILDA parts. it’s not the fancy website stuff, but getting all of the data was something i wanted to get down first. this is a passion project, and am taking my time with everything so i’ve turned off AI features. i. introduction so over the 2025-26 season i’ve had to deal with the onshape for ftc plugin and left unsatisfied. its search performance was shoddy, it occasionally went out, the parts library was limited, and there was unintuitive duplication for parts like channel and shafting. as i explored the frc cad ecosystem, i came upon MkCAD, and now FRCDesignApp. i liked how it was open source, the search function worked a lot better, yet… i felt like it was inadequate of a solution. why not frcdesignapp? well, because i wanted to make one that generates the database at build-time, i wanted semantic type-as-you-search, and i had ambitions to—well, aside from having it under the ultro moniker—integrate it with a future inventory system. i also wanted it to be written in full stack typescript rather than a python backend, since it would allow for further front-end optimizations like SSR and asynchronous data streaming with type safety. design goals search should work with many different types of queries. starting with part numbers, a search for “1120-0014-0360” should return with that sku. “14 hole gobilda u channel” should return first a 14-hole regular u channel, then low side, then mini low side u channel, then 13 and 15 hole counterparts; “gobilda c channel” should return low side u channel, then mini low-side; “bearings for gobilda” should return bearings not only from gobilda, but also 14mm flanged bearings from mcmaster, etc etc. i want the search experience to far surpass other sites’ catalog websites so you’re incentivized to stay in one place and not have to go to mcmaster-carr or west coast products or gobilda for their search experience. search should be as fast as humanly possible. i’ll get into the architectural implications of that in a bit, but results should show up as you type, should still be fast on shoddy internet connections, and should render results quickly to the screen. in the case of URL-inputted queries, the page should partially render, with the background UI fully loaded and the search results asynchronously given; SSR should not be blocked by result fetching. search should be programmatic — you can access product information through a REST API, perhaps even GraphQL for getting a bulk list of relevant products. this allows the app to integrate into inventory systems (as mentioned before), external developments, and further incentivize contribution to the database. contributing new parts should be trivial — the repository should have clear instructions as to how to open a PR, cli utilities to fill out information, and a clear workflow overall even for those who don’t know how to code. accounts can select favorites , and their search results similarly adapt to put higher weight on semantically similar parts. SKUs and onshape parts should be parametric when possible, and first party when possible. for example, rev has official onshape models for most, if not all of their SKUs. but on that note, if you want things to be parametric and relational so that it’s clear that something like shafting has different variations in length, channel can come in different hole numbers, gears can come in different sizes, motors in different gear ratios and…"}]...
|
Title: fabrica by @acandoo | Stardance
Devlogs:
h Title: fabrica by @acandoo | Stardance
Devlogs:
hey everyone! i’ve been thinking through this project in notes (and in my head) for a little while now, and just got started putting things down in code starting friday or so. i’m working on fabrica, an overengineered parts library/search engine for robotics teams. currently i’ve structured out how to code static database generation, decided on repository structure, and scaffolded tooling and helper functions for later use, and am now working on a data scraper for goBILDA parts. it’s not the fancy website stuff, but getting all of the data was something i wanted to get down first. this is a passion project, and am taking my time with everything so i’ve turned off AI features. i. introduction so over the 2025-26 season i’ve had to deal with the onshape for ftc plugin and left unsatisfied. its search performance was shoddy, it occasionally went out, the parts library was limited, and there was unintuitive duplication for parts like channel and shafting. as i explored the frc cad ecosystem, i came upon MkCAD, and now FRCDesignApp. i liked how it was open source, the search function worked a lot better, yet… i felt like it was inadequate of a solution. why not frcdesignapp? well, because i wanted to make one that generates the database at build-time, i wanted semantic type-as-you-search, and i had ambitions to—well, aside from having it under the ultro moniker—integrate it with a future inventory system. i also wanted it to be written in full stack typescript rather than a python backend, since it would allow for further front-end optimizations like SSR and asynchronous data streaming with type safety. design goals search should work with many different types of queries. starting with part numbers, a search for “1120-0014-0360” should return with that sku. “14 hole gobilda u channel” should return first a 14-hole regular u channel, then low side, then mini low side u channel, then 13 and 15 hole counterparts; “gobilda c channel” should return low side u channel, then mini low-side; “bearings for gobilda” should return bearings not only from gobilda, but also 14mm flanged bearings from mcmaster, etc etc. i want the search experience to far surpass other sites’ catalog websites so you’re incentivized to stay in one place and not have to go to mcmaster-carr or west coast products or gobilda for their search experience. search should be as fast as humanly possible. i’ll get into the architectural implications of that in a bit, but results should show up as you type, should still be fast on shoddy internet connections, and should render results quickly to the screen. in the case of URL-inputted queries, the page should partially render, with the background UI fully loaded and the search results asynchronously given; SSR should not be blocked by result fetching. search should be programmatic — you can access product information through a REST API, perhaps even GraphQL for getting a bulk list of relevant products. this allows the app to integrate into inventory systems (as mentioned before), external developments, and further incentivize contribution to the database. contributing new parts should be trivial — the repository should have clear instructions as to how to open a PR, cli utilities to fill out information, and a clear workflow overall even for those who don’t know how to code. accounts can select favorites , and their search results similarly adapt to put higher weight on semantically similar parts. SKUs and onshape parts should be parametric when possible, and first party when possible. for example, rev has official onshape models for most, if not all of their SKUs. but on that note, if you want things to be parametric and relational so that it’s clear that something like shafting has different variations in length, channel can come in different hole numbers, gears can come in different sizes, motors in different gear ratios and…
we are getting somewhere!!! now a couple of more rounds of bug fixing and i should have all the metadata for products for goBILDA! from there it’s manual overriding and filtering to remove bundles and anything of that sort.
alright, final bit of work for today. since the last log, i put some more logging messages and files to diagnose different issues. i caught one where sometimes goBILDA didn’t redirect through an HTTP code but rather through <meta http-equiv="refresh"> which was annoying. and some category pages had a link to other category pages given the SAME SET OF ATTRIBUTES AS PRODUCTS, or took from an entirely different place in the DOM because the product list is CLIENT SIDE RENDERED. i’m sorry but i am NOT about to pull out puppeteer for a (presumably) 1,000+ SKU website. i also added a cache to fetched URLs so that i didn’t bombard goBILDA with duplicate requests as i worked. also on that note, i put in a custom user agent while i was at it so that they hopefully don’t block what i’m doing 😊 tomorrow i’ll also probably work on deduplicating DOM queries by keeping track of a list of scanned product pages and filtering out pages that are irrelevant for the catalog’s purposes.
i crashed node 😭😭😭 the final pieces were adding lists of already-visited websites, and rate limiting myself so i don’t crash goBILDA. whoops…. i need to break up writes to the file in smaller pieces. i’ll probably write per product processed. and since things are bound to go wrong with a scraper there’s probably some exception to the rule with some random product that doesn’t make it in the scraper / isn’t processed correctly.
VICTORY!!! from here it’s a matter of refining the scraper to make sure there are no duplicates / useless parts / specs are good. the final pieces of the puzzle were removing JSDOM caching to reduce memory usage (since i already check for duplicates reasonably well before the request is made), adding some more filtering for irrelevant products, manually garbage collecting with global.gc() (!!), and allowing for errors in product parsing. i could probably make it more robust by forcing all the categories to be evaluated before products.
not much to update on, but i decided to clean up the commit history with gitmoji . shout out gleamlins for showing me gitmoji! i wanted to implement it for this project because i think it’s really neat and cute! there are probably still some stylistic discrepancies/wrong things within the commit history but for now my perfectionism is satisfied :)
wow i haven’t logged in a while! the past few days were the last bits of school, so not a lot of work done per day. i’ve decided to change up how the partdb is built, since i discovered unplugin-macros which really helps streamline build-time logic and the final export of the package. combined with tsdown the whole build situation of the package is a lot cleaner. in addition, i added filesystem-level caching so that when this eventually gets built on github actions it will have a cache folder that it can use, and with proper expiration handled. i still have to fine tune what computations get cached, but soon hopefully cached builds won’t take the heat death of the universe to complete! since the caching is time stamped it also makes garbage collection of the cache trivial and runnable in a github action. that code isn’t written yet but isn’t too hard. for that reason i also bumped up the node version because i wanted to use Temporal to deal with timestamps and durations :) in terms of other minor things: a rudimentary site package was added, with a template astro site. i did research into different serverless platforms lint errors fixed more code comments/inline documentation made the just build recipe functional proper error message logging for product page parsing i’ll get out of my meta-work slump soon, soon!!
so i tried caching webpages and… um… whoops. there are so many footguns with concurrency… i had to modify a record to also store a promise chain so that writes didn’t happen concurrently… and i had run out of memory on a rebuild with cached elements which i assumed was because i was thrashing the filesystem by immediately closing file descriptors once things were read, so i set up an object to keep the file handles around but because of the async boundary they had gotten garbage collected… urgh
many OOMs and attempts to use chrome devtools later… i think tomorrow i’m going to switch out everything to use cheerio instead of JSDOM to reduce memory usage, then maybe add a thread pool while i’m at it. currently i’ve just bumped the “old memory” limit up to 16 WHOLE GIGABYTES…. gah javascript.. i’ll also have to debug a JSON parsing problem with a few of the pages. i have no idea what it might be aside from JSON.parse being finicky or JSON.stringify not properly escaping but i highly doubt that’s the reason.
got busy this past week with a bunch of other duties, so slow progress. i set up a thread pool class with a promise API and type safety… which is kinda overkill but that’s a bit of the whole goal with this project :p but so far i offloaded initially parsing the web page for a <meta http-equiv="refresh"> and determining the link. which is not a long task, so not a huge main thread blocker! but it would allow me to cement the code structure with the worker pool. the thing was, i really wanted to optimize this build, and the useCache hook i wrote only supported JSON stringifyable values, which means no array buffers. the fetch API allows you to get the response directly as an ArrayBuffer, which, once you mark as transferrable, means that a thread can work directly on the buffer without having to copy all of the data. and since memory contention is one of the two problems i’m trying to solve here… that’s incredibly useful. the thing was, i couldn’t just insert it directly into the JSON cache entry since it would be parsed by JSON.parse as a string, so i set up another content-addressed directory ( cache/blobs instead of cache/files , where most things go) and modified the types to ensure that it was still type safe. turns out… making that type work out in the function was a PAIN,, especially considering i had generics involved. i was able to work through it with an atrocious amount of as keywords sprinkled throughout, but it’s not very elegant. in terms of the site, i opened up figma and started working on some prototypes! i’ve been meaning to learn figma and figured this was the perfect opportunity to go through the process. i love how, for the most part, everything is really intuitive. but the “frame” and “group” and “component” concepts being separate things was really confusing to me. i’m really tired and about to lose my train of thought but for tomorrow i’ll work on porting the rest of the DOM processing over to the worker threads and to cheerio. i’ll also probably have to rethink how code is organized because now the “adapter” is split across two files. there’s definitely a way to make things more elegant, though.
I LOVE METAPROGRAMMING okay so for some background i worked on moving the getPages method of the goBILDA adapter to a worker thread method (which parses the goBILDA sitemap to get the main category pages), but i realized from the type error that occurred that the whole type inference debacle got messed up as there was no url parameter in the method input… so now i’ve unleashed a generic-type guard-inference inferno. typescript is a turing complete language combined with a turing complete type system… but at least there aren’t any generics explicitly declared within the code, nor any as keywords sprinkled through this section!
update: i’ve moved all of the logic to use cheerio and worker threads! i tried running just build , and… of course, it didn’t work. a few of the issues were easy to diagnose: i forgot to create a directory on startup, or put .js instead of .ts as a dynamic import path, or potentially had multiple concurrent writes that could occur. but now, i’m encountering an issue where my requests don’t want to transfer, which i initially assumed was because the object had too many layers.. but trying structuredClone on a similar object works. for other work: i’ve finally removed JSDOM from dependencies, and also updated pnpm on the side. i enabled sorting imports, which helped clean up some of the mess that was accumulating. i added helper scripts for dealing with the cache. finally, i moved the rate limited fetch within the goBILDA adapter and passed as an argument to helper functions, which would allow for future adapters to have their own rate limits.
most of the parsing issues have been fixed! the final list is 1321 items, which is the same amount as previous scrapes, so i don’t think there are any issues there. a couple things still worry me a bit (but they’re not things that hinder progress elsewhere): the build command lingers after it says it’s finished building. i suspect it’s because some promise ends up never resolving, but i’ll have to look into that further the specifications field is messed up. i should also add a string sanitizer later on to the helpers file, but in the migration to cheerio something with the specification parsing logic got messed up. a cached build still takes two minutes. ideally i would like it to be more around the 30 second range, but i have to figure out if there are any bigger things worth caching. there’s just a type error i have to deal with when it comes to error handling, and everything should be good! i’ll move on to more site prototyping since i have a dummy database to test things against.
IT WORKS!!!!!!! okay so for some reason the type signature of the search library that i’m using, flexsearch, didn’t give the right type signatures for when i put in enrich: true on searching. i had to do some manual array processing, which probably slows down the results a bit but it’s still under 15 milliseconds max. it’s incredibly fast, it seems like the bundle would work for edge functions so it’d be similarly fast in real life, and i can’t wait to implement the service worker backend to make things even faster. from here i want to refine the querying so you can filter by manufacturer, categories, etc. and refine the database items. and also have a pretty UI :)
i don’t have much to share so far, been reading documentation & doing miscellaneous work, but right now i’m getting myself carried away with color palettes and fonts and branding design first. i designed a lil’ logo! i’ll update the banner for this project to include the logo and typography and whatnot, but i decided on fonts (dm sans for display, ibm plex sans/mono, i know hurr hurr very original). originally i was going to use space grotesk as the display/heading font but i didn’t want my website to look too much like axon robotics et al. and i didn’t want to use orbitron because i feel like the wordmark should be a distinct font/character. i emailed gobilda asking about CAD file scraping and their GraphQL endpoint that I discovered (which unfortunately needs credentials…), which gives me an excuse to not worry about the parsing issues with the scraper until they email me back or a week has passed. so in the meantime, i’ll work on web design. in terms of pure functionality though i did also add a static product page generator for each of the products, which was why i thought astro was a really great fit for this project since i’m focusing on moving more stuff to build-time and improving DX instead. i do want to set up an account system and auth and all that jazz because the next big feature would be automatic PRs from suggestions, that just adds/modifies a json file in a partdb overrides folder in the repo. that’ll also give me an excuse to validate my monorepo design by putting some of that logic in another package. finally, i know in my ai policy i’m using ai very minimally and i’ve disabled ai features in vscode… but could we let this one slide :) why those hex codes specifically iykyk
okay, take two on writing through this devlog since stardance just consumed my writing since it went over the word limit… i did a lot of work since my last devlog with the UI, from view transitions to SSR to SEO to wrestling with build tools and broken npm packges. i don’t have the energy to write through everything again but i do have this demo that shows off just how cool view transitions are, the speed of SSR (though i had to make it cold start, which again i can’t be bothered to write about why a second time), and graceful degradation for javascript-less environments. next up i’m working on some housekeeping stuff with sorting tailwind classes, then formatting the search page, wiring up view transitions between the search page and product pages, more DOM optimization with better solid.js state management, and maybe adding tanstack virtualizer (though it’s kinda overkill, but allows me to just set every image to eagerly load) and keeping support for no-JS. please stardance team could you fix entries getting sent into the void i wrote a really good devlog entry the first time around…
productive day of UI work today! i started off by taking care of some meta-work within the repo. i added a pre-commit hook for linting and formatting, added tailwind class sorting to my formatter config, pushed more vscode settings and extensions to the repository, updated pnpm, and also put a pre-install hook so that others that try setting up the repository without pnpm will get a warning (at least in theory). in the future i want to add a hook to enforce gitmoji but i’ll leave that for free time when i’m less motivated to code. i added a view transition for the logo going into search. i just put the logo within its own Solid component so that both the home page and search have the same view-transition-name . i also made it adaptable on the search screen so it collapses to its smaller form by just cropping the svg instead of making another network request. though if i wanted that as flexible as possible i’d probably modify the <picture> element to also media-query-match against device width. that way graceful degradation also works JS-less. product cards look a lot nicer! now unfortunately i have a bunch of duplicate js styles across a lot of components, so i’ll probably set down some base styles or classes. what i would love for CSS are tailwind utility classes where the groupings are build-time optimized. there are still a couple of things on my plate UI-wise: some of the UI cards aren’t occupying the full width. idk why since i set their width via w-full but idk i’m probably going to switch out the UI to more of a grid formation anyways. turn the cards into a grid formation. they’re way too long and taking up valuable space. figure out what to do with text. i tried getting only the first sentence, i tried overlay: hidden , i’m not sure but am currently leaning towards some sort of blur/fade effect. make the <Suspense> boundary narrower. my current desired functionality is for all the cards to “gray out” but with the original item list length, before the resource is fetched and the dom update happens. minimal DOM update on resource fetching. i need to swap out the signal-backed Resource for a store-backed one that reconciles, but i still have to figure out solid.js’s API shape. and also tanstack virtual but i need to do cards first. product pages.
yeah so i ended up working more… i finished up the transition to card view. i had a lot of trouble because i was putting the shrink/grow/basis tailwind classes in the <article> tag within the <li> which meant that all the flexbox stuff wasn’t applying properly. 😅 i figured out how to get that ellipses text wrapping. for some reason i couldn’t get overflow: hidden + whitespace: nowrap to work without completely breaking the flow of the page, but line-clamp did work! a bunch of miscellaneous work. added a no-JS warning to the /search page, changed the tracked event for the initial search page preload and filtered so it was only mouse hovers, stricter pre-commit hook, font preload, and color changes. i need to work on the product pages next, but also i have been caught by scope creep.. i’ve decided that in the future i want to add auth and user/organization work and an actual database since now i want the project to become an inventory system itself. it makes sense UI wise and i’ll get to play with databases finally. for first ship though i’ll probably just use localStorage. since the attached recording i’ve added placeholder buttons for adding to favorites and the shopping cart… the favorites button is easy enough, it’s just a toggle, maybe some cute css animations, though whether the auth solution i end up (probably betterauth) supports it is a whole other story… the shopping cart is a different level of hard JS-less though especially since there’s not enough UI space to add a quantity amount. my plan for the interaction was that hover inactive would give the “Add to shopping cart” dialog, click inactive -> active opens up a quantity dialog, setting the quantity to 0 resets the buttom, and hover active brings up the quantity dialog again.
hello! so far i’ve been working on responsive/adaptive design for the search page. i’m kinda putting off doing the individual pages in place of refining the search page. the logo is properly sized on safari. i don’t know what is it about safari and fit-content that just makes everything break horribly, but i had to choose manual widths for making the logo adaptive instead of relying on the image width. for some reason the logo tile gradually increases width despite me setting the width as static (gah css!). at some point in the future i should integrate the UI work with browserstack/tests. the hero page is now a proper <a> element instead of an <input> with focus intercepted. to keep compatibility with no javascript, it SSR’s as an <input> element before switching out to an <a> on component mount. this means that on mobile the keyboard won’t open and close when trying to search. unfortunately iOS safari doesn’t support autofocus… the nav bar is now the same width as the cards. the culprit was an empty div… i had adjusted for flexbox gap being janky by adding more padding, but now that i eliminated the element i could remove the padding composition and make everything the same width. this does mean that when scrolling down the curvature of the search bar/logo isn’t consistent with the title cards, but hey everything’s a compromise. bigger card buttons & button icons. they feel almost too big, but i know that click targets are important for accessibility. i also made the “Learn more” button a full pill instead of a rounded square. i guess the convention i’m intuitively going for is “rounder UI elements = more desired/friendly path”. i’m still upset that the icon library doesn’t work, it would be so nice. even more adaptive cards. i set up the breakpoints so that the image moves vertical first, then once there’s not enough space for the “Learn more” button the star and basket, the star and basket disappear since their functionality can be on the product page.
hello again! my main focus for this devlog has been on experimenting with loading/transition behavior for queries. before, the page would remove all of the card components and just show a “Results: loading…” screen and an unstyled <li> loading element, but i wanted to improve that and make it more animated and less “flashy”. the first part of the transition comes on the “leading edge”, when the user updates their query and information has not yet been fetched. if i let the previous cards and results stay up, the site will be perceived as laggy and not responsive. so, my instinct would be to place a “skeleton UI” but that in itself would be a DOM update/layout reflow, which i wanted to avoid for performance reasons. i tried blurring individual card elements, but i didn’t like how it looked. maybe i settle with a skeleton UI or come up with some other combination of CSS effects, i don’t know. either way, i didn’t want the effect to show up if the request hits the cache, so instead of using solid.js’s existing useTransition hook, i manually combined the underlying startTransition function with my own pending signal, which i only set to true if the query was not found in the cache. this does mean that on cache hits the code looks up the map two times (once on the initial check for the pending signal, another on the resource fetch), but i don’t think trying to optimize that away with a boolean or something would end up being faster than just letting v8 optimize the double Map lookup. for the second part–or, trailing edge–of the interaction, i had this idea of constructing a view transition so that cards that showed up previously would move nicely to their resulting spot. that unfortunately made things really laggy, especially since view-transition-name would be declared on both the cards themselves and many items within the card, as those would need to be labeled for the view transition to the product page. the visual effect was really nice though, so my plan to make it work is to finally introduce virtual scroll… yes i know i’m fixing more javascript with more javascript, but at least the site works without it! right?! additional minor thoughts: i’m starting to not like the star/basket buttons. i was looking online for product card inspiration, and most of the designs i found were a lot more minimal, many of them even omit the “Learn more” button for a cleaner visual aesthetic. for now i’ll probably change out the buttons to just the underlying icon outlines, but keep the bounding box. my qualm with removing “Learn more” is discoverability on mobile, since i couldn’t disclose product page functionality through a hover effect. maybe once the card reaches a certain height on the viewport then i’ll activate the hover progresive disclosure for mobile, but idk. maybe i should fetch in the background? with the transition effect, it would be nice for it to apply when you backspace, and at that point the site isn’t really doing any more network stuff aside from prefetching hovered cards, so i could fetch all of the sliced versions of the query (i.e. for “beam” it would fetch “b”, “be” and “bea” in the background). should i persist the results count on scroll? maybe integrated within the navigation bar, or in smaller text in a pill under, idk....
|
1793293043.5498035
|
1793897843.5498035
|
|
38206
|
facey wacey by @codingShark | Stardance
|
codingShark
|
0
|
1.33
|
0
|
[]
|
[{"post_id": 32827, "ts": "202 [{"post_id": 32827, "ts": "2026-07-22T07:00:55Z", "hours": 1.3333, "text": "i just started my project! this is for my dad’s birthday, he keeps forgetting things so i decided to make a cute reminder for him, i use esp32c3 super mini with its expansion boards, display use 0.96 inch OLED, 7-segments display, touch sensor, passive buzzer and some more"}]...
|
Title: facey wacey by @codingShark | Stardance
De Title: facey wacey by @codingShark | Stardance
Devlogs:
i just started my project! this is for my dad’s birthday, he keeps forgetting things so i decided to make a cute reminder for him, i use esp32c3 super mini with its expansion boards, display use 0.96 inch OLED, 7-segments display, touch sensor, passive buzzer and some more...
|
1793533674.9012496
|
1794138474.9012496
|
|
6284
|
failed by @rubintruben | Stardance
|
rubintruben
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: failed by @rubintruben | Stardance
|
1793256647.6587064
|
1793861447.6587064
|
|
62347
|
fairshare-chores by @Jasonvo | Stardance
|
Jasonvo
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T00:22:34Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!", "repo": "https://github.com/phuvo1304-alt/fairshare-chores", "demo": "https://phuvo1304-alt.github.io/fairshare-chores"}]...
|
[{"post_id": 70336, "ts": "202 [{"post_id": 70336, "ts": "2026-09-18T23:52:08Z", "hours": 1.0956, "text": "Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done"}, {"post_id": 69542, "ts": "2026-09-17T08:32:54Z", "hours": 2.3508, "text": "Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line."}, {"post_id": 69005, "ts": "2026-09-16T06:28:50Z", "hours": 1.1261, "text": "Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code."}]...
|
Title: fairshare-chores by @Jasonvo | Stardance
D Title: fairshare-chores by @Jasonvo | Stardance
Devlogs:
Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code.
Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line.
Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done
Ships:
I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!...
|
1793685025.9829793
|
1793771425.9829793
|
|
38793
|
fakuu by @fakhru | Stardance
|
fakhru
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fakuu by @fakhru | Stardance
|
1793231395.4652438
|
1793836195.4652438
|
|
1294
|
fallback by @moiz | Stardance
|
moiz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fallback by @moiz | Stardance
|
1793472744.7797632
|
1794077544.7797632
|
|
26593
|
fan shroud for my 3d printer by @coolbeardeddragon fan shroud for my 3d printer by @coolbeardeddragon11 | Stardance...
|
coolbeardeddragon11
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fan shroud for my 3d printer by @coolbearde Title: fan shroud for my 3d printer by @coolbeardeddragon11 | Stardance...
|
1793325150.2595372
|
1793929950.2595372
|
|
56401
|
fancy ahh weather app for m country by @OrderDanie fancy ahh weather app for m country by @OrderDanie | Stardance...
|
OrderDanie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fancy ahh weather app for m country by @Ord Title: fancy ahh weather app for m country by @OrderDanie | Stardance...
|
1792921813.5454865
|
1793785813.5454865
|
|
56402
|
fancy ahh weather app for m country by @OrderDanie fancy ahh weather app for m country by @OrderDanie | Stardance...
|
OrderDanie
|
2
|
2.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T16:32:04Z", "hours": 1.0, "multiplier": 2.41, "payout": 2, "blessing": "neutral", "text": "i imrpoved the webapp, since the devs tought it was ai like ui, and also added all the feedback suggestions, like news, multi cities weater, simpler serach bar, smaller animations", "repo": "https://github.com/OrderDanie/FOR-GOD-s-SAKE-ITS-A-WEATHER-APP-STOP-ASKING", "demo": "https://scintillating-lamington-d199c2.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-30T19:58:14Z", "hours": 1.0, "multiplier": 2.01, "payout": 2, "blessing": "neutral", "text": "hehe, time to speak, um, this app was a dream come true to me ngl, i long wanted to have an actual website, that has anything on it, not some random project, tho i had a hard time coding, since i started it on my i3 5th laptop, on 4gb ddr3, which was pain, but hey now i have an i5 10th, anyways, oh yea before you go ahead and test the website, go ahead and test the website what are you wating for??? STOP READING, REALLY THO, bruh just go alrd.", "repo": "https://github.com/OrderDanie/FOR-GOD-s-SAKE-ITS-A-WEATHER-APP-STOP-ASKING", "demo": "https://scintillating-lamington-d199c2.netlify.app/"}]...
|
[{"post_id": 60317, "ts": "202 [{"post_id": 60317, "ts": "2026-09-02T16:28:35Z", "hours": 0.3522, "text": "very important news today"}, {"post_id": 59199, "ts": "2026-08-31T21:08:15Z", "hours": 0.2997, "text": "CHECK OUT THIS ANIMATION, dont mind the lag gng its not my fault, im griding for the framework laptop"}, {"post_id": 59185, "ts": "2026-08-31T20:38:00Z", "hours": 0.3972, "text": "FOR THE GUY THAT SAID THE UI LOOKS VIBECODED, i have learned how to use design, not really thi, i just used another website that simplifies the css and ui work, BUT THERE YOU GO, also added support for other countries, how you find yours"}, {"post_id": 58387, "ts": "2026-08-30T19:54:35Z", "hours": 0.2672, "text": "YEP I GOT IT, THATS RIGHT, I WIN"}, {"post_id": 58352, "ts": "2026-08-30T18:54:16Z", "hours": 0.555, "text": "nvm i got it, maybe?"}, {"post_id": 58294, "ts": "2026-08-30T17:51:23Z", "hours": 0.2964, "text": "see, thats not supposed to happen"}]...
|
Title: fancy ahh weather app for m country by @Ord Title: fancy ahh weather app for m country by @OrderDanie | Stardance
Devlogs:
see, thats not supposed to happen
nvm i got it, maybe?
YEP I GOT IT, THATS RIGHT, I WIN
FOR THE GUY THAT SAID THE UI LOOKS VIBECODED, i have learned how to use design, not really thi, i just used another website that simplifies the css and ui work, BUT THERE YOU GO, also added support for other countries, how you find yours
CHECK OUT THIS ANIMATION, dont mind the lag gng its not my fault, im griding for the framework laptop
very important news today
Ships:
hehe, time to speak, um, this app was a dream come true to me ngl, i long wanted to have an actual website, that has anything on it, not some random project, tho i had a hard time coding, since i started it on my i3 5th laptop, on 4gb ddr3, which was pain, but hey now i have an i5 10th, anyways, oh yea before you go ahead and test the website, go ahead and test the website what are you wating for??? STOP READING, REALLY THO, bruh just go alrd.
i imrpoved the webapp, since the devs tought it was ai like ui, and also added all the feedback suggestions, like news, multi cities weater, simpler serach bar, smaller animations...
|
1792878613.812397
|
1793742613.812397
|
|
13732
|
fanganronpa maybe by @ssayeed27 | Stardance
|
ssayeed27
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fanganronpa maybe by @ssayeed27 | Stardance
|
1793339557.1921585
|
1793944357.1921585
|
|
21949
|
fantasy game by @jonathanwillner | Stardance
|
jonathanwillner
|
0
|
69.0
|
0
|
[]
|
[{"post_id": 13325, "ts": "202 [{"post_id": 13325, "ts": "2026-06-21T20:27:05Z", "hours": 23.0, "text": "i added player, animations,and deth"}, {"post_id": 15901, "ts": "2026-06-25T20:55:51Z", "hours": 29.0, "text": "ok so this is a mix of my 3d godot game and my fantasy game idk why but i added dying animations to godot game and added sword and sword animations to fantasy game and debuged"}, {"post_id": 18432, "ts": "2026-06-29T16:16:52Z", "hours": 15.0, "text": "this did not take 15h my hacktime is gliched Devlog — Switched from 3rd Person to First Person Camera System and added map I switched my project from a 3rd-person camera setup to a full first-person controller, which meant completely removing the camera pivot system and rebuilding movement to feel correct without a visible character model guiding direction. The hardest part was fixing movement and facing direction after the switch — my original system used camera-relative controls and a rotating model, but in first-person that broke everything and made movement feel backwards or disconnected. I ended up rewriting the movement to be cleaner and removing the dependency on camera-based rotation entirely. It took a while to get the character to stop going the wrong way, but after removing the old camera logic, and the animations since thay were still expecting the third-person model rotation. the controller now works in first-person, with movement and animations aligned properly, and I can start adding combat and other features. the video is the third person camera not working well now the animations dont show so im going to try and fix the third persion camera and i made a video but i cant show it so"}, {"post_id": 19547, "ts": "2026-06-30T21:27:45Z", "hours": 1.0, "text": "I built the first real version of my inventory system where items can be dragged between slots and now picked up from the world. The biggest change is that the inventory is no longer just UI — it actually connects to gameplay through item pickups and world objects. The hardest part was getting Godot’s drag-and-drop system working correctly. At first, items would disappear or not register drops because I was clearing slots too early and missing the proper _get_drag_data() flow. I also had to fix mouse filtering so the slots would actually receive input. After that, I added a simple world item system using an Area3D, so walking into the sword adds it directly into the first empty inventory slot. Wiring the inventory as a global group took a bit of trial and error, but it finally connects cleanly now. Right now it’s still very basic — no stacking or hotbar yet — but the foundation is solid: items exist in the world, can be picked up, and moved freely between slots. This is the first step toward a full RPG inventory system."}, {"post_id": 19612, "ts": "2026-06-30T23:48:30Z", "hours": 1.0, "text": "i added hotbar to tired to make a paragraph"}]...
|
Title: fantasy game by @jonathanwillner | Stardanc Title: fantasy game by @jonathanwillner | Stardance
Devlogs:
i added player, animations,and deth
ok so this is a mix of my 3d godot game and my fantasy game idk why but i added dying animations to godot game and added sword and sword animations to fantasy game and debuged
this did not take 15h my hacktime is gliched Devlog — Switched from 3rd Person to First Person Camera System and added map I switched my project from a 3rd-person camera setup to a full first-person controller, which meant completely removing the camera pivot system and rebuilding movement to feel correct without a visible character model guiding direction. The hardest part was fixing movement and facing direction after the switch — my original system used camera-relative controls and a rotating model, but in first-person that broke everything and made movement feel backwards or disconnected. I ended up rewriting the movement to be cleaner and removing the dependency on camera-based rotation entirely. It took a while to get the character to stop going the wrong way, but after removing the old camera logic, and the animations since thay were still expecting the third-person model rotation. the controller now works in first-person, with movement and animations aligned properly, and I can start adding combat and other features. the video is the third person camera not working well now the animations dont show so im going to try and fix the third persion camera and i made a video but i cant show it so
I built the first real version of my inventory system where items can be dragged between slots and now picked up from the world. The biggest change is that the inventory is no longer just UI — it actually connects to gameplay through item pickups and world objects. The hardest part was getting Godot’s drag-and-drop system working correctly. At first, items would disappear or not register drops because I was clearing slots too early and missing the proper _get_drag_data() flow. I also had to fix mouse filtering so the slots would actually receive input. After that, I added a simple world item system using an Area3D, so walking into the sword adds it directly into the first empty inventory slot. Wiring the inventory as a global group took a bit of trial and error, but it finally connects cleanly now. Right now it’s still very basic — no stacking or hotbar yet — but the foundation is solid: items exist in the world, can be picked up, and moved freely between slots. This is the first step toward a full RPG inventory system.
i added hotbar to tired to make a paragraph...
|
1792936420.812668
|
1793800420.812668
|
|
6803
|
farm game by @youssef_chater | Stardance
|
youssef_chater
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: farm game by @youssef_chater | Stardance
|
1793181071.7526941
|
1793785871.7526941
|
|
68103
|
fast line follow by @V-Sreevatsan | Stardance
|
V-Sreevatsan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fast line follow by @V-Sreevatsan | Stardan Title: fast line follow by @V-Sreevatsan | Stardance...
|
1793735830.5808249
|
1794340630.5808249
|
|
69463
|
fast typing by @pmandal7355 | Stardance
|
pmandal7355
|
0
|
5.54
|
0
|
[]
|
[{"post_id": 81310, "ts": "202 [{"post_id": 81310, "ts": "2026-10-20T19:30:08Z", "hours": 0.6739, "text": "made the readme and now its time to ship"}, {"post_id": 81200, "ts": "2026-10-20T08:12:57Z", "hours": 1.3483, "text": "made the game , just some bugs need to be fixed and the readme is left"}, {"post_id": 80997, "ts": "2026-10-19T15:31:09Z", "hours": 0.6178, "text": "made the full parts of the rendering , just the ui is left to made and the readme is left"}, {"post_id": 80668, "ts": "2026-10-18T13:25:01Z", "hours": 1.8475, "text": "made the livery and race sentences and some tweaks, next will be the rendering part and ui , everything is from scratch"}, {"post_id": 79632, "ts": "2026-10-14T19:16:52Z", "hours": 1.0489, "text": "made some parts of the game and downloaded the dependencies and made the graphics"}]...
|
Title: fast typing by @pmandal7355 | Stardance
De Title: fast typing by @pmandal7355 | Stardance
Devlogs:
made some parts of the game and downloaded the dependencies and made the graphics
made the livery and race sentences and some tweaks, next will be the rendering part and ui , everything is from scratch
made the full parts of the rendering , just the ui is left to made and the readme is left
made the game , just some bugs need to be fixed and the readme is left
made the readme and now its time to ship...
|
1793584189.4588761
|
1794188989.4588761
|
|
71472
|
fastest line following car by @roshikjefin | Stard fastest line following car by @roshikjefin | Stardance...
|
roshikjefin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fastest line following car by @roshikjefin Title: fastest line following car by @roshikjefin | Stardance...
|
1793627497.011339
|
1794232297.011339
|
|
29513
|
fat cat (a joke) by @withahershey | Stardance
|
withahershey
|
0
|
7.26
|
0
|
[]
|
[{"post_id": 51697, "ts": "202 [{"post_id": 51697, "ts": "2026-08-21T14:58:04Z", "hours": 3.6867, "text": "devpost 2 i can not see it on every chrome screen. not tweaking it so the img will soon change"}, {"post_id": 40849, "ts": "2026-08-04T17:12:08Z", "hours": 3.5694, "text": "devpost1: Made it to track your number of tabs and uses the web storage too!"}]...
|
Title: fat cat (a joke) by @withahershey | Stardan Title: fat cat (a joke) by @withahershey | Stardance
Devlogs:
devpost1: Made it to track your number of tabs and uses the web storage too!
devpost 2 i can not see it on every chrome screen. not tweaking it so the img will soon change...
|
1793238588.8260436
|
1793843388.8260436
|
|
22648
|
fatasy space ships by @thepirateboy10 | Stardance
|
thepirateboy10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fatasy space ships by @thepirateboy10 | Sta Title: fatasy space ships by @thepirateboy10 | Stardance...
|
1793310745.166767
|
1793915545.166767
|
|
61419
|
fazbear frights themed clock by @Jollyspaceduck | fazbear frights themed clock by @Jollyspaceduck | Stardance...
|
Jollyspaceduck
|
0
|
1.07
|
0
|
[]
|
[{"post_id": 67792, "ts": "202 [{"post_id": 67792, "ts": "2026-09-14T01:19:12Z", "hours": 1.0667, "text": "Made the base schematic. I’m currently searching for the file for the footprint of the xiao since it wasn’t in the folder from the website that the guide referred to"}]...
|
Title: fazbear frights themed clock by @Jollyspace Title: fazbear frights themed clock by @Jollyspaceduck | Stardance
Devlogs:
Made the base schematic. I’m currently searching for the file for the footprint of the xiao since it wasn’t in the folder from the website that the guide referred to...
|
1793649068.0063481
|
1794253868.0063481
|
|
10115
|
fd-guardian by @husnain | Stardance
|
husnain
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fd-guardian by @husnain | Stardance
|
1793425873.2868583
|
1794030673.2868583
|
|
49788
|
fenecxx by @adicoding-js | Stardance
|
adicoding-js
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fenecxx by @adicoding-js | Stardance
|
1793303577.596784
|
1793908377.596784
|
|
46940
|
ferfolio ✶ by @fer | Stardance
|
fer
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T09:17:46Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished ferfolio, I had to redo it cuz I didn’t like it, but now im very happy with the results and I did it in just 2 hours!! I used html5, css3 and a little bit of js. and for typography I used chat favour, instrument sans and space mono", "repo": "https://github.com/ferrdlm/ferfolio", "demo": "https://ferfolio.netlify.app"}]...
|
[{"post_id": 45648, "ts": "202 [{"post_id": 45648, "ts": "2026-08-12T08:49:35Z", "hours": 0.4819, "text": "I decided to change almost everything hehe, but I like how it turned out"}, {"post_id": 45636, "ts": "2026-08-12T08:11:23Z", "hours": 0.5753, "text": "hi!! this is what my portfolio looks right now I decided to go for a editorial minimalist aesthetic instead of the usual dark mode dev portfolio hehe"}, {"post_id": 45627, "ts": "2026-08-12T07:30:54Z", "hours": 0.2531, "text": "just organized and put some typography´s!!"}, {"post_id": 45622, "ts": "2026-08-12T07:15:44Z", "hours": 1.0014, "text": "just starting my personal site!! :)"}]...
|
Title: ferfolio ✶ by @fer | Stardance
Devlogs:
ju Title: ferfolio ✶ by @fer | Stardance
Devlogs:
just starting my personal site!! :)
just organized and put some typography´s!!
hi!! this is what my portfolio looks right now I decided to go for a editorial minimalist aesthetic instead of the usual dark mode dev portfolio hehe
I decided to change almost everything hehe, but I like how it turned out
Ships:
I just finished ferfolio, I had to redo it cuz I didn’t like it, but now im very happy with the results and I did it in just 2 hours!! I used html5, css3 and a little bit of js. and for typography I used chat favour, instrument sans and space mono...
|
1793660180.8530734
|
1793746580.8530734
|
|
55313
|
fermion by @henry1155 | Stardance
|
henry1155
|
0
|
14.96
|
0
|
[]
|
[{"post_id": 72547, "ts": "202 [{"post_id": 72547, "ts": "2026-09-23T05:54:42Z", "hours": 0.2697, "text": "9/21/2026 - 12th Update! You couldn’t build a printer in a week. You can’t build a printer in a week. Yeah, I know. You’ve got eight or so days left. And you spent the last three grinding Geometry Dash. Yeah, 158% on nine paws, woo! And you’re not at all concerned about the time? The what? welcome back! it’s 12:08 AM on the morning of 9/22/2026, and boy did i realize the entire weekend and the extra day off disappeared in a blink of an eye. yes, i finally beat the level, now moving on to something way more difficult, but first, it’s time to address the bigger issue in the room. yes, technically fermion, but also time. pause the music, it’s getting a bit serious here. we have a solid 8 or so days left. we didnt spend the weekend well, i didn’t spend the weekend well. but hey, we can’t get that time back. what a mindset, instead, i gotta start actually spending my time efficiently. yes, i beat the level, but now, i need to take a break. not because of exhaustion, but because we literally don’t have enough time to play gd at the same time. its just not able to fit there. It’s not meant to be easy, you know. who is that guy in italics? idk, they’re kinda weird. anyways, question is, what now? 8 days. lock in. if we cant get this done by the end of stardance, id probably look into exporting this to a similar ysws, hopefully to finish it there in time for the winter season, because that’s a pretty fun time to build stuff before build season starts, and when college applications are mostly over! that said, back to the cad… ok, we need to sort out the motor support first, one second. ok, that should be good, ok, ive got a plan. but it requires the tool head to be both unbalanced, weirdly shaped, and quite low. of course, that’s if we’re still going with the small tool idea, we can always just slap three extra motors and call it a day, but thats too easy and probably more sane. theres no avoiding it, gotta get designing that now mfw 8.8cm for the available tool space (horiziontally) at that point might as well just have two tool heads that swap out with the motor and all at the front im thinking of a ton of possible configurations, lets write them out idea 1 z motors are in the front, belted to the lead screws corexy motors move to the side still doesnt solve the issue that the tool head areas front does look cooler no neat place to put the tool head idea 2 similar to the first idea in the the z motors and lead screws are belted together, but the z motor is above, facing backwards, belted to the lead screw, so that it can be at an angle (getting this to the other side would be wonky, but perhaps doable) this should move the lead screws closer to the sides, giving more space! (also look into different things that move on the t screw that are smaller, perhaps smaller than T8 lead screws?) huh. i seem to have forgotten to add yesterdays log to the website. oops. well, that just got added, some weird time stuff but yeah. well yeah, it’s 1:17 AM, and i think i like the second idea. checking the cad, it’s probably possible to fit this (its gonna be close?), so thats cool! anyways, yeah, good night!"}, {"post_id": 72098, "ts": "2026-09-22T05:14:03Z", "hours": 2.2067, "text": "9/20/2026 - 11th Update! missed one day, but miss two? i dont think so. anyways, dramatic opening aside, it is 11:25 PM, just celebrated cake day (a couple days late but still great :D), so yeah, in celebration of becoming yet another year older (my foot hurts), time to get cadding! (brb) ok, it’s 11:50 PM, might need to lock in, in other news, doggie just got 97% (again) and 91% on grief tonight! might want to tune in (if youre reading this from the future, today’s stream 390) anyways, first things first, we need to find a stepper motor ideally with lead screws built in (those exist?) (yeah, apparently so) ok, it’s 11:58 PM, gonna go watch a movie, brb! ok ive returned at 1:30 AM to focus on two things at once (i gotta get the sticker streak continuing), so yeah ok now what are the heights of mgn7c rails… why does no one have cad models for mgn7c rails that arent filled with other stuff… ok 1:46 AM and now im actually gonna be fully focused so, this might not be the most ideal setup. currently the motors really far in the back, however, theres no real mounting solution going on here, so here’s the dilemma. the motors too big. like. too big. additionally, this means that it kinda pokes through the back, or in a weird way. anyway this happens isnt very good, since the gearing has to go through the extrusion. obviously, we can do a hex adapter and do a spark here, but that’s not a good idea for obvious reasons (re: spark ) do we actually have to look into pancake motors? yeah, i think we do… also, one more thing, it might be a good idea to split the belts to be on both sides instead of just one, just to balance things out a bit got a little distracted with compact hotends , but yeah, went down a rabbit hole, we need ptfe tubes (spark did not have these), wow, theres a lot to do turns out, sourcing these things is super annoying! looked for nema 11s with integrated lead screws, all of them are mad expensive, probably just gonna use a shaft coupler, yep certainly am. anyways, lets do some math, the 45mm motors have (allegedly) 10Ncm of torque, should be enough with a T8 screw and having two of them (additionally, to help with lower layers, an idea that came across the other day was adding springs at the bottom) uh idt this is gonna reach the full range… anyways, it’s 2:43 AM, mostly a bunch of research and small adjustments, nothing too big today, hopefully more stuff tomorrow? that said, it’s 2:44 AM, good night!"}, {"post_id": 71588, "ts": "2026-09-21T03:27:26Z", "hours": 1.0172, "text": "9/18/2026 - 10th Update! it’s like 1:43 AM, wasnt gonna write a log for today, but might as well? anyways, added a stack, hopefully i remember to make those actually tensioners later 6.540 cm vs 5.162 cm, we should be able to tension up to 1 cm with this setup? hmm i really dont know how to do this setup, with two rods here? anyways, the corexy belts are added, just trying to get the tool base profile working? considering maybe using a linear rail here, or maybe even v wheels for the extrusion? (idk) mfw looking for MGN9C models and the specs dont include data on the screw hole size for some reason yeah uh the screw hole is bigger than the middle section of the extrusion, might have to use MGN7C at this point well, after a bunch of research, i think using the rail is the method, though, im not sure exactly how we should use it. mounting it above an extrusion is probably the best setup here, except 10mm x 10mm rails are like super niche or something since basically no one sells them (pla t nuts cant be too bad… right?) welp, not sure, not much cad updates today, mostly research? also, the reason i didnt start earlier today was because i sorta fell asleep today for four hours in the afternoon after coming back from school, oops, anyways, it’s 2:42 AM now and yeah, good night!"}, {"post_id": 70430, "ts": "2026-09-19T05:31:59Z", "hours": 1.6281, "text": "9/17/2026 - 9th Update! ok, we’re back! it’s 12:47 AM, enough talking, let’s get back to cad work! looking at the todo list, i think we want to finish the corexy definitions (mostly just the motor positions), i think im gonna try to add the belt paths in my free period tomorrow in school, tool base work needs to get started today, gotta consider a configuration, still considering if doing a tool changer by only switching the filament and the tool is the move (as in, if its the most feasible) anyways, cad time! (also, friendly reminder that we need to put a motor on the gantry somewhere) (how does one even start here?) so ive been thinking, uh, nvm, not that great of an idea. basically, what if we move the docking/tool area to the front, so that we can have the motor pointing towards the back (where the corexy motors are) for better storage. it’ll probably work, but that’s kinda a nightmare for supports? unless, of course, its super light hmm im actually seriously considering this, since its such a nice geometry (it also moves the printing area to the center, which should theoretically let us print there instead of aiming to print in the very outside/front area) (also, in theory, the back is heavy enough with two whole motors to balance things out, if needed, weights can also be added, but i dont think thats necessary) (insert fun geometry change montage) (why does my leg hurt) ok, so stuff has been updated and fixed, the idea is the motor points, you know what, lemme just cad it also, note, we kinda dont have a second linear rod for the purpose of, you know, cancelling our rotation, might have to add that soon ok, since we’re here, im thinking of using 6mm rods because 8mm might be unnecessary because we have the rods in pairs (specifically, the cantilever side of the lifted part), so we get that benefit fun fact, it might be possible to stash all the motors in the back. yeah its not necessary but it would be cool :p actually, i dont think im gonna do that, its also probably better to just keep the z motors at the front since we can actually have a belt path that way… new issue! if we place it in the front theres basically no space to put the tools for the tool changing ok, idk if the belt can even fit like that, but lets say it can (basically, it has to go under the corexy motors)… unless it doesnt… ngl it might be easier to have 3 motors for this, since they funnily enough perfectly slot in (maybe? not sure but its an idea) ok, so not too much done today, mostly just design changes and stuff, yeah, a good amount of fixes here and there hopefully tomorrow i can start earlier (since its friday and no after school stuff is planned for tomorrow?), that said, it’s 2:21 AM and yeah, good night!"}, {"post_id": 69973, "ts": "2026-09-18T04:46:58Z", "hours": 1.6919, "text": "9/16/2026 - 8th Update! hey! it’s 12:22 AM, we are back earlier than yesterday but not as early as i would’ve hoped, but that’s alright! ok, yesterday’s updatelog has been moved over, time to get to the cad! a quick check on what we need to work on: MOST - base and side heights (obviously) MOST - z lift (what!) (since this is super influential in the amount of space we get) SOME - corexy (upper layer stuff) (needed before tool stuff) motor positions! (this influences docking area spaces) NONE - tool base and docking area NONE - compact SOME - main electronics area well, let’s get to it! ok, i need to think of what the belt path looks like, we have the switch back stuff towards the front, of course, but for the back? i guess id probably just use a bearing to push it to the center, since i do need to consider im trying to fit this in a really tight space can we just put the bearings inside the motors shafts (shh) (not a bad idea except its probably a bad idea) so uh. we have a ton of geometry fixes to do. right now, theres not enough space in the middle, and the only real way to fix that is to stack the corexy stuff on top of the linear rods, not to the side (there literally just isnt enough space at that point.) it might sacrifice a bit of height but it’ll be able to have around 2.6cm extra space on the x direction seems like it’ll sacrifice roughly 0.7cm? but again, the stuff would be higher up so that might also cancel things out so uh. i think i gotta just redesign the whole thing at this point i think i might use thinner rods for this, idk, just a thought so uh, on second thought, how am i gonna make the belt go through a rod… (you go around it!) very good news! turns out, the calculations were a bit wonky, and now we should have like 9cm of height? maybe? this looks pretty decent for the pulleys? so yeah, that’s the current status of things! sorted out the lift stuff (i think?), and did some of the pulley stuff (so that we can add belts pretty quickly)! after that is probably tool base work? just remembered that the belts on a different layer (as in, its above), so fixed that and made it a bit more compact! reminder to self to add a tensioner at some point ok, stuff got updated, not too much changed, mostly just small fixes and changes here and there well, it’s 2:08 AM, a decent amount of stuff done today, i don’t think that we’re exactly done yet, so we are now technically falling behind schedule, but we’ll see how much can get done by the end of saturday? anyways, yeah, that said, good night!"}, {"post_id": 69479, "ts": "2026-09-17T04:24:14Z", "hours": 0.8528, "text": "9/15/2026 - 7th Update! uh, it’s even later than yesterday, it’s actually 1:37 AM right now. anyways, you think id miss an updatelog :p (no, this isnt a continuation of yesterday’s session, its actually been a whole 24 hours) not much talking, i want to get at least half an hour of cad done today! ok, so for the rods on the z lift, we need to have limits, and we gotta define the ending blocks at this point… also, we’re gonna be using whatever screws the motors use (unless theyre somehow too big for our purposes), just because its, well, optimial i guess my sourcing adventures have told me about the F4-9M thrust bearing. idk. so uh, imma ignore that and try to solve it, one second ok, good news, we now have a solid 5cm of build height (in the worst case scenario, how low the tools are is the biggest influence for this, this statistic assumes the worst case that the tool reaches the very bottom). yeah. so. we do need to optimize the scissor lift bit to squeeze more height in ok, so it’s 2:27 AM, did a bit of z and corexy work today. yeah, we’re running pretty close to deadline, ill see what i can do tomorrow, hopefully with an earlier start? also, another note, the build plate representation was done yesterday (but i just put it below the rollback bar for things to be more accessible while working on it) so yeah! it’s 2:30 AM, so yeah, good night!"}, {"post_id": 68992, "ts": "2026-09-16T05:39:42Z", "hours": 1.2497, "text": "9/14/2026 - 6th Update! ok, ill admit, it’s pretty late, it’s currently 12:22 AM on 9/15/2026 (but that doesnt mean progress cant happen!) quick glance at the schedule 9/13/2026 - 9/19/2026 Mastersketch (3-4 days) Physics Work (1 day) Subsystems (Basic) (2-3 days) i doubt that itll be possible to finish the mastersketch in two more days (not counting today), considering the meetings and stuff, so mastersketch work might take up the entire week, but also, making all the subsystems in a week was also super unrealistic anyways, may the cad resume! so, ive been thinking about the structural integrity, what does the extrusion actually do (other than forming some sort of support structure)? it would be more compact to just have two rods with the belts running on the side, which should offer the same level of support (the only worry i have with that is basically the back would have to be pretty strong) basically, a C shaped structure of that size (with the gap being the front) has the potential to be wobbly (as exemplified by the early assembly of the spark frame). ngl, i can’t really remember if it was super bad, i think after tightening the screws it was actually pretty strong anyways, point is that it might be worth it to have an extra extrusion on the front (though, i dont think it’ll be necessary given the amount of gussets and stuff at the back) now, how will the rods be installed? on spark, it was basically friction fit, except it wasnt really a fun experience (fun fact, to install the z rods i had to put all my weight on the part, yes, i also had to add the bearings by jumping on the parts). this is not optimal. obviously. one solution can just be using heat inserts and just driving the screw to clamp it, or just use a giant clamp. idk which one i like more, im personally not a big fan of having massive blocks at the ends with screws sticking out, so i think it’ll be more of a clamp style thing theres no way i listened to two full albums tonight, one second… ok, so enough chit chat, let’s get to the mastersketch! so uh, linear bearings are actually massive, gonna expand height to 7.5cm why am i actually locked in (why is this also appearing deceivingly straightforward), anyways, need to find some motors, then gonna end it there! nema11 31mm length nema11 45mm length anyways, gotta decide on one of those, then the cursed geometry to combine the stepper motor, linear rods, and aluminum extrusions together ok, so we just have one of the pivots being stationary, i think? probably the back corner? and then the sliding one does the force and yeah well, that’s about it for today! lots of planning, but also a good amount of cad work (at least for around 1.25 hours of work!)! well yeah, hopefully i can start working on this earlier tomorrow (had to get home today by train, probably not the best move), but yeah! it’s 1:37 AM, so yeah, good night!"}, {"post_id": 67866, "ts": "2026-09-14T04:41:28Z", "hours": 1.7453, "text": "9/13/2026 - 5th Update! it’s 9:44 PM, im back! hope you didnt think i was gonna miss today :p ok, so the reason why i cant really start working, and im really stumped, is that fermion’s more of a packaging problem. for spark, the whole thing was easily tunable (as in, heights were changed a BUNCH during the end, which being parametric really helped out), but fermion has to “work”, of course not first try, but the order we do things really does make stuff work out or be super painful later on i think im not gonna use linear rails again (what!) because, well, i really dont enjoy having to import random parts from outside, and working around them is a real nuisance (along with the fact they are really pricey sometimes, given that we would need like 3 for the corexy and 4 for the scissor lift) hmm it might be best for me to start with front facing points instead of side heights, basically a front facing profile first, well, let’s go then! (instead of locking in, the narrator went straight to catching up on messages and quite some time has passed (10:01 PM and now its 10:14 PM)) so uh, the whole things gotta be mirrored right quick check that t nuts for 1010 sorry had to quickly get rid of an insect, anyways, why are 1010 extrusions intrepreted in inches??? im gonna implode (onshape doesnt have 1010 profiles) good news is that 10x10mm extrusions do exist on amazon, except theres no standard for them shoutout to this thing on amazon, first place with actual decent drawings for this ok, good news, the profile is now in onshape, most details are in, just except for the fillets (the listing thing doesnt provide that information, and onshape doesnt want it to exist). however, this is probably for the best for performance (cope) ok, for the sake of clarity, let’s name the parts: central: the part that remains stationary to the ground, so the electronics and the build plate build plate: the build plate, which sits above the electronics z scissor lift: the part that makes the z move, but NOT the subject itself (basically, the scissor mechanism) upper platform: the subject that gets moved, so the corexy and tool bay tool/docking bay: the docking bay for the tools shouldnt be that hard? yeah, fairly straightforward. anyways, thats the standard i guess im gonna use for the cad woo 3mm gt2 belts actually exist! found some here on aliexpress anyways, for this corexy setup (no, we arent cadding it yet, im working on side heights right now), we’re NOT gonna be fitting the belts inside/between the rods (did i mention that already? i think i did, we’re using rods), but instead we’ll make them side by side, one second a little doodling later, here’s what i mean! ok, so here’s the order we should mastersketch in, since ive been twirling around the cad for like a good couple minutes now base and side heights (obviously) z lift (what!) (since this is super influential in the amount of space we get) corexy (upper layer stuff) (needed before tool stuff) motor positions! (this influences docking area spaces) tool base and docking area compact main electronics area so uh, how does one even have a scissor lift with a screw in the middle? i forgot to press record. well, yeah, its been a bit, i took a bit of a break, it’s 12:38 AM, i think im gonna stop here for today! of course, there’s still lots to do, but yeah, seems like a good place to stop for today! it’s 12:39 AM, and yeah, good night!"}, {"post_id": 67801, "ts": "2026-09-14T01:46:34Z", "hours": 2.6792, "text": "9/12/2026 - 4th Update! hey hey hey it’s 3:52 PM on saturday, and happy to say that we’re barely following schedule! after 9/9/2026’s update talking about shipping river, got back to work and wrapped it up and shipped it across 9/10/2026 and 9/11/2026! it’s submitted for review, so i theoretically dont need to do much about it now (maybe some firmware stuff but not much), so yeah, time to focus on this now! the goal for the end of today is to have a krayoncad and refine to concept, so that we actually have something in 3d to look at the linkages and stuff! well, brb, one second, back at 4:06 PM, let’s go! yeah so we basically have a 200mm x 200mm space to work with, with like 3mm of wiggle room, with 7 (ish) centimeters vertically (im measuring a polymaker spool box btw) idk why onshapes a bit slow today ok, if the motors are on the front, it lets a little place in the front which would be neat but that shifts all the weight to the front which isnt really good, but if the tools are in the back, thatll help with the load but its still goofy, but what if we just move the scissor lift to the back? well that just reverses the entire printer, its the same thing as moving our tool bay to the front, which would shift the space to the back but not be very nice with balance idk, text blob of thinking well, this is what i have so far! it’s not exactly the best, theres a lot of goofy stuff (and stuff i havent considered, specifically where the z motors are gonna go), but i think its a good start? ok, heres a list of all the issues i currently have with this z axis what??? (like seriously what is going on here) need to have an actual concept for the motion currently is just a “linear rail” and a lead screw (represented by the belt) in that orientation tool area the tool size is kinda unrealistic but still maybe possible? its probably better to have a fan on the tool bay area that stays there than have one that moves as in, fans on the tool for the cold end, then a fan per tool in the docking area, not one that moves across tool base theres no space for the stepper motor (at all) theres a very low chance all the gearing will fit but we’ll see dimensions are unrealistic unless the rails are the actual supports (probably will need 1cm x 1cm extrusions, need to look into the structure and support stuff), the widths are not correct z scissor lift the z scissor lift is kinda goofy in numbers (expected, since we cant really do that yet) ok, it’s 5:42 PM, brb… (quick commit) (bro yapped too much, the middle part of this updatelog is in the first screenshot) yeah kinda tired right now, idk, ok, 11:25 PM now, gonna go watch a movie, see ya! ok, 1:20 AM now, i think this is a good start, gonna sleep on it for tonight and hopefully refine the idea overnight? idk, letting the idea process for a bit usually helps out! that said, good night!"}, {"post_id": 66859, "ts": "2026-09-12T19:52:01Z", "hours": 0.5467, "text": "9/9/2026 - 3rd Update! It’s 11:31 PM. It’s been a full month since Fermion was announced to the infinite depths of the internet. It’s the night before the first day of school, senior year. The final year. The start of the end. If you had less than a year with the stuff you’ve grown up with for the past three years, what would you do? If everything changes, what would you do? What would I do? welcome back and yeah, it’s the day before the start of my senior year. fermion would be quite a way to kick it off :D, there hasn’t been much progress on this at all, and im very sorry for this. after all, a bunch of unkept promises, unfulfilled dreams, you get the idea, isn’t really plesant. so, stardance ends in 21 days. i have multiple essays and applications to finish up. 21 days, somewhere around 500 hours, probably less. how am i gonna split up my time? the goal, at least for the rest of september is to first finish river by the end of the week (its only cleanup and updates at this point), and to submit it! then, for the rest of the month, i’ll work on trying to, well, cad the whole thing in two and a half weeks where have i heard this before? oh yeah, i dont have much confidence i could do it by the end of stardance, and that’s fine. well, it actually isnt, but hey, hopefully moving projects works by the end of it all? (ill still aim to finish) of course, ill do last minute stuff after the deadline, probably the day after (like the wiring diagram), but lets not think that far yet! bzz yep! first photo, that’s currently my ideas for now. there’s no way to actually scuplt or imagine it in 3d (i mean, i can sketch, its just gonna be messy with so many iterations), so it’ll have to be a krayoncad (yes we’re using that again!). it’ll probably be some mashup of random stuff, but it’s just to get a conceptually idea, of course, then we’ll hopefully start mastersketching by next week. speaking of which, how do you balance this with school? lemme reference the spark logs… bad news guys, uhh… last time i tried doing this in a month, it became six months (not counting research), with the time before being a one week attempt (which got nowhere). so, we got stuff to do 9/10/2026 - 9/12/2026 Finish and submit river KrayonCAD and refine ideas Idea Refining (1 day) 9/13/2026 - 9/19/2026 Mastersketch (3-4 days) Physics Work (1 day) Subsystems (Basic) (2-3 days) 9/20/2026 - 9/26/2026 Subsystems (Detailed) (5-6 days) Fixes (1 day) BOM Assembly (1 day) 9/27/2026 - 9/30/2026 Electrical (1 day) BOM Assembly (1 day) Buffer (1 day) But that’s impossible! It’s basically constant work and unrealistic scheduling, with almost zero free time. yeah, that’s the issue. to pull this off, i (quite literally) need to work everyday on this, along with balancing school, essays and applications, homework, and robotics (woo), so this is quite truly a challenge. but hey, no one got anywhere stay in their comfort zone, and, frankly, ive been in mine for far too long (the second half of this summer) so, see you on friday? or saturday, idk anyways, it’s 11:57 PM, here’s to ambition and the will to challenge, and yeah, good night!"}, {"post_id": 65167, "ts": "2026-09-10T03:31:05Z", "hours": 0.755, "text": "8/27/2026 - 2nd Update! well, it’s actually 1:31 AM on 8/28/2026 (yes, i just finished up the river bom stuff for today)… also, seems like, similar to spark , the strange gaps in time also exist (no ill stop disappearing for weeks. i think.) anyways, i need to lock in on avarious things before school starts, this being one of them. my goal’s to start sometime in the september, preferably before school starts, though no promises! anyways, today’s gonna be yet another yap session, what do i have in store today? ive been researching! at least, as far as youtube videos gets you… but yeah, lots of ideas recently! last time we talked about the overall structure itself (scissor lift z axis, corexy, similar belting), but this time i want to talk about tool changing! here we go! spark tool changing barely “worked” the latch system had WAY too many parts (some fell off during transport lel) the latch system required rubber bands that did not exist or could possibly exist (it needs to be kept in the middle of the track) the only way it worked was if the latch had a default state in the middle (which, as just mentioned, it did not) the tools were MASSIVE well, they’re pretty normal sized, but still, it’s not ideal they also break stuff when they fell, and they were not fun to assemble please no more impossible screws that need to be hand turned the single motor idea was pretty nice however, functioning nicely is… yeah essentially, tool changing did not really work as well as i envisioned (which was expected!). so, what’s gonna change? well, one really nice idea, as noted above, was only having a single motor, as that saved on both price and tool size. however, the sacrifices it made was not really great (this was also partially due to a bad extrusion gearing)… but what if the filament path was its own tool? im gonna be a bit honest here, i was inspired by the INDX project, but im gonna take my own spin on it! (as in, imma still design everything myself, the only thing im borrowing is the idea of sharing the filament gearing). to be clear, the idea im borrowing is the gearing releasing the filament, swapping to the next tool, and grabbing it again (with wired, not passive heaters!) of course, that’s a design challenge in of itself (were also probably still gonna use PLA). also during this time, ive been looking at various extruders, i came across this from triangle lab again, but im not sure if i want to stick with it, the main goal is to have a hotend that’s both compact and can get easily blasted by fans! speaking of fans… we still need to decide on that, i havent done much research into it, but having one for each tool sound about right? anyways, the goal is still the same as spark, with 3 tools (maybe well add more if it makes sense and space allows), and maybe even a z probe? (ill be a switch lel) anyways, for docking, we’re probably gonna use magnets. yeah, for real this time? anyways, to detach, it’ll probably be a simple latch hook- WOAH WOAH WOAH. what i meant by that is the tool going into, sliding on a screw, and detaching! (see the rest of the logs in the image! yeah, im sorry i yap a lot lol) anyways, it’s 2:17 AM, so yeah, for now, good night!"}, {"post_id": 56411, "ts": "2026-08-28T05:26:22Z", "hours": 0.3183, "text": "8/10/2026 - 1st Update! yes, im sure you have tons of questions lol disregarding the overarching question that every first log has to solve (what is this?), i do know that river is incomplete as of now. i havent really had any motivation to finish it, but i do plan on it, sometime this week. but for now (and a while now), i feel like its progress is currently slowing us down a bit. regardless, im gonna complete it, but i have a ton of ideas i want to write down and document, so that i actually have a readable progress update, instead of coming in with a full design (because, after all, that’s not as interesting or as educational as seeing designs converge into an idea!) one more note, it’s currently 2:03 AM on 8/11/2026 right now, but i’ll push this for 8/10/2026! so, the question you’re probably wondering now, what is fermion? well, it’s technically a successor to spark, which was more of a learning opportunity, looking at it retrospectively, and it’s not easy or expected to get everything correct first try, so here we go, spark v2! with, a different name! ok, skip that, we got branding made already (yes ive been busy lol) similarly to last time, after just around 2 weeks, i have returned to present you the raw concepts of fermion, tihs being arc 3 of year 3, following spark (build) and river ! here we go compact. like, really compact way back when, i came across alex’s (qcoral) project neutrino , which i later discovered was inspired by positron! both are meant to be compact printers that fit in a standard filament spool box spark needed a whole new suitcase to travel to open sauce it was also a huge suitcase and would barely close unless the top bit was moved and held in a certain way basically, not very convenient to travel with tool changing of course, with such a small form factor, this is gonna be the bulk of the issues, aka, smart and compact design just like spark, triple nozzle is the plan, maybe a fourth tool for z probing, which we should try to get this thing, if those two are done, might make this the world’s smallest (to my knowledge) folding (ill get to this) tool changing 3d printer, which would be insane (it might also be the first to fit in a filament box upon compacted) of course, im getting ahead of myself (cant wait to realize the overscope), how are we pulling this off? that’s for the next commit to answer lol ok so im back after a quick second, this time on github mobile, so where was i? oh right, the architecture! whatever we do, we have to have an incredibly compact extruder setup and xyz motion. unfortunately, i dont have all my ideas anymore, but heres the roguh process. (im actually out of words, see the picture!) now, a quick search shows that this idea has been done before, which is a good sign (both because of design convergence and that it’s been proven to be possible). yes, its a little sad that it’s not super unique of an idea, but hey, corexy isnt exactly a new idea, the innovation comes in execution! (and the idea of course) (additionally, there arent many scissor lift 3d printers antways) point is, imo this is the best way to compact it, espexcially because of size constraints. only issue i have is that the design needs to be very rigid somehow… anyways, electronics go below the build plate, tools on the top in a row, gantry can fold there (hold on theres no way it can get there, actually nvm), dokcing areas are there too, print area is more of a rectangle, scissor lifts on the side exact numbers and more ideas soon, just scribbling stuff down, but it’s 3:01 AM, so yeah, good night!"}]...
|
Title: fermion by @henry1155 | Stardance
Devlogs: Title: fermion by @henry1155 | Stardance
Devlogs:
8/10/2026 - 1st Update! yes, im sure you have tons of questions lol disregarding the overarching question that every first log has to solve (what is this?), i do know that river is incomplete as of now. i havent really had any motivation to finish it, but i do plan on it, sometime this week. but for now (and a while now), i feel like its progress is currently slowing us down a bit. regardless, im gonna complete it, but i have a ton of ideas i want to write down and document, so that i actually have a readable progress update, instead of coming in with a full design (because, after all, that’s not as interesting or as educational as seeing designs converge into an idea!) one more note, it’s currently 2:03 AM on 8/11/2026 right now, but i’ll push this for 8/10/2026! so, the question you’re probably wondering now, what is fermion? well, it’s technically a successor to spark, which was more of a learning opportunity, looking at it retrospectively, and it’s not easy or expected to get everything correct first try, so here we go, spark v2! with, a different name! ok, skip that, we got branding made already (yes ive been busy lol) similarly to last time, after just around 2 weeks, i have returned to present you the raw concepts of fermion, tihs being arc 3 of year 3, following spark (build) and river ! here we go compact. like, really compact way back when, i came across alex’s (qcoral) project neutrino , which i later discovered was inspired by positron! both are meant to be compact printers that fit in a standard filament spool box spark needed a whole new suitcase to travel to open sauce it was also a huge suitcase and would barely close unless the top bit was moved and held in a certain way basically, not very convenient to travel with tool changing of course, with such a small form factor, this is gonna be the bulk of the issues, aka, smart and compact design just like spark, triple nozzle is the plan, maybe a fourth tool for z probing, which we should try to get this thing, if those two are done, might make this the world’s smallest (to my knowledge) folding (ill get to this) tool changing 3d printer, which would be insane (it might also be the first to fit in a filament box upon compacted) of course, im getting ahead of myself (cant wait to realize the overscope), how are we pulling this off? that’s for the next commit to answer lol ok so im back after a quick second, this time on github mobile, so where was i? oh right, the architecture! whatever we do, we have to have an incredibly compact extruder setup and xyz motion. unfortunately, i dont have all my ideas anymore, but heres the roguh process. (im actually out of words, see the picture!) now, a quick search shows that this idea has been done before, which is a good sign (both because of design convergence and that it’s been proven to be possible). yes, its a little sad that it’s not super unique of an idea, but hey, corexy isnt exactly a new idea, the innovation comes in execution! (and the idea of course) (additionally, there arent many scissor lift 3d printers antways) point is, imo this is the best way to compact it, espexcially because of size constraints. only issue i have is that the design needs to be very rigid somehow… anyways, electronics go below the build plate, tools on the top in a row, gantry can fold there (hold on theres no way it can get there, actually nvm), dokcing areas are there too, print area is more of a rectangle, scissor lifts on the side exact numbers and more ideas soon, just scribbling stuff down, but it’s 3:01 AM, so yeah, good night!
8/27/2026 - 2nd Update! well, it’s actually 1:31 AM on 8/28/2026 (yes, i just finished up the river bom stuff for today)… also, seems like, similar to spark , the strange gaps in time also exist (no ill stop disappearing for weeks. i think.) anyways, i need to lock in on avarious things before school starts, this being one of them. my goal’s to start sometime in the september, preferably before school starts, though no promises! anyways, today’s gonna be yet another yap session, what do i have in store today? ive been researching! at least, as far as youtube videos gets you… but yeah, lots of ideas recently! last time we talked about the overall structure itself (scissor lift z axis, corexy, similar belting), but this time i want to talk about tool changing! here we go! spark tool changing barely “worked” the latch system had WAY too many parts (some fell off during transport lel) the latch system required rubber bands that did not exist or could possibly exist (it needs to be kept in the middle of the track) the only way it worked was if the latch had a default state in the middle (which, as just mentioned, it did not) the tools were MASSIVE well, they’re pretty normal sized, but still, it’s not ideal they also break stuff when they fell, and they were not fun to assemble please no more impossible screws that need to be hand turned the single motor idea was pretty nice however, functioning nicely is… yeah essentially, tool changing did not really work as well as i envisioned (which was expected!). so, what’s gonna change? well, one really nice idea, as noted above, was only having a single motor, as that saved on both price and tool size. however, the sacrifices it made was not really great (this was also partially due to a bad extrusion gearing)… but what if the filament path was its own tool? im gonna be a bit honest here, i was inspired by the INDX project, but im gonna take my own spin on it! (as in, imma still design everything myself, the only thing im borrowing is the idea of sharing the filament gearing). to be clear, the idea im borrowing is the gearing releasing the filament, swapping to the next tool, and grabbing it again (with wired, not passive heaters!) of course, that’s a design challenge in of itself (were also probably still gonna use PLA). also during this time, ive been looking at various extruders, i came across this from triangle lab again, but im not sure if i want to stick with it, the main goal is to have a hotend that’s both compact and can get easily blasted by fans! speaking of fans… we still need to decide on that, i havent done much research into it, but having one for each tool sound about right? anyways, the goal is still the same as spark, with 3 tools (maybe well add more if it makes sense and space allows), and maybe even a z probe? (ill be a switch lel) anyways, for docking, we’re probably gonna use magnets. yeah, for real this time? anyways, to detach, it’ll probably be a simple latch hook- WOAH WOAH WOAH. what i meant by that is the tool going into, sliding on a screw, and detaching! (see the rest of the logs in the image! yeah, im sorry i yap a lot lol) anyways, it’s 2:17 AM, so yeah, for now, good night!
9/9/2026 - 3rd Update! It’s 11:31 PM. It’s been a full month since Fermion was announced to the infinite depths of the internet. It’s the night before the first day of school, senior year. The final year. The start of the end. If you had less than a year with the stuff you’ve grown up with for the past three years, what would you do? If everything changes, what would you do? What would I do? welcome back and yeah, it’s the day before the start of my senior year. fermion would be quite a way to kick it off :D, there hasn’t been much progress on this at all, and im very sorry for this. after all, a bunch of unkept promises, unfulfilled dreams, you get the idea, isn’t really plesant. so, stardance ends in 21 days. i have multiple essays and applications to finish up. 21 days, somewhere around 500 hours, probably less. how am i gonna split up my time? the goal, at least for the rest of september is to first finish river by the end of the week (its only cleanup and updates at this point), and to submit it! then, for the rest of the month, i’ll work on trying to, well, cad the whole thing in two and a half weeks where have i heard this before? oh yeah, i dont have much confidence i could do it by the end of stardance, and that’s fine. well, it actually isnt, but hey, hopefully moving projects works by the end of it all? (ill still aim to finish) of course, ill do last minute stuff after the deadline, probably the day after (like the wiring diagram), but lets not think that far yet! bzz yep! first photo, that’s currently my ideas for now. there’s no way to actually scuplt or imagine it in 3d (i mean, i can sketch, its just gonna be messy with so many iterations), so it’ll have to be a krayoncad (yes we’re using that again!). it’ll probably be some mashup of random stuff, but it’s just to get a conceptually idea, of course, then we’ll hopefully start mastersketching by next week. speaking of which, how do you balance this with school? lemme reference the spark logs… bad news guys, uhh… last time i tried doing this in a month, it became six months (not counting research), with the time before being a one week attempt (which got nowhere). so, we got stuff to do 9/10/2026 - 9/12/2026 Finish and submit river KrayonCAD and refine ideas Idea Refining (1 day) 9/13/2026 - 9/19/2026 Mastersketch (3-4 days) Physics Work (1 day) Subsystems (Basic) (2-3 days) 9/20/2026 - 9/26/2026 Subsystems (Detailed) (5-6 days) Fixes (1 day) BOM Assembly (1 day) 9/27/2026 - 9/30/2026 Electrical (1 day) BOM Assembly (1 day) Buffer (1 day) But that’s impossible! It’s basically constant work and unrealistic scheduling, with almost zero free time. yeah, that’s the issue. to pull this off, i (quite literally) need to work everyday on this, along with balancing school, essays and applications, homework, and robotics (woo), so this is quite truly a challenge. but hey, no one got anywhere stay in their comfort zone, and, frankly, ive been in mine for far too long (the second half of this summer) so, see you on friday? or saturday, idk anyways, it’s 11:57 PM, here’s to ambition and the will to challenge, and yeah, good night!
9/12/2026 - 4th Update! hey hey hey it’s 3:52 PM on saturday, and happy to say that we’re barely following schedule! after 9/9/2026’s update talking about shipping river, got back to work and wrapped it up and shipped it across 9/10/2026 and 9/11/2026! it’s submitted for review, so i theoretically dont need to do much about it now (maybe some firmware stuff but not much), so yeah, time to focus on this now! the goal for the end of today is to have a krayoncad and refine to concept, so that we actually have something in 3d to look at the linkages and stuff! well, brb, one second, back at 4:06 PM, let’s go! yeah so we basically have a 200mm x 200mm space to work with, with like 3mm of wiggle room, with 7 (ish) centimeters vertically (im measuring a polymaker spool box btw) idk why onshapes a bit slow today ok, if the motors are on the front, it lets a little place in the front which would be neat but that shifts all the weight to the front which isnt really good, but if the tools are in the back, thatll help with the load but its still goofy, but what if we just move the scissor lift to the back? well that just reverses the entire printer, its the same thing as moving our tool bay to the front, which would shift the space to the back but not be very nice with balance idk, text blob of thinking well, this is what i have so far! it’s not exactly the best, theres a lot of goofy stuff (and stuff i havent considered, specifically where the z motors are gonna go), but i think its a good start? ok, heres a list of all the issues i currently have with this z axis what??? (like seriously what is going on here) need to have an actual concept for the motion currently is just a “linear rail” and a lead screw (represented by the belt) in that orientation tool area the tool size is kinda unrealistic but still maybe possible? its probably better to have a fan on the tool bay area that stays there than have one that moves as in, fans on the tool for the cold end, then a fan per tool in the docking area, not one that moves across tool base theres no space for the stepper motor (at all) theres a very low chance all the gearing will fit but we’ll see dimensions are unrealistic unless the rails are the actual supports (probably will need 1cm x 1cm extrusions, need to look into the structure and support stuff), the widths are not correct z scissor lift the z scissor lift is kinda goofy in numbers (expected, since we cant really do that yet) ok, it’s 5:42 PM, brb… (quick commit) (bro yapped too much, the middle part of this updatelog is in the first screenshot) yeah kinda tired right now, idk, ok, 11:25 PM now, gonna go watch a movie, see ya! ok, 1:20 AM now, i think this is a good start, gonna sleep on it for tonight and hopefully refine the idea overnight? idk, letting the idea process for a bit usually helps out! that said, good night!
9/13/2026 - 5th Update! it’s 9:44 PM, im back! hope you didnt think i was gonna miss today :p ok, so the reason why i cant really start working, and im really stumped, is that fermion’s more of a packaging problem. for spark, the whole thing was easily tunable (as in, heights were changed a BUNCH during the end, which being parametric really helped out), but fermion has to “work”, of course not first try, but the order we do things really does make stuff work out or be super painful later on i think im not gonna use linear rails again (what!) because, well, i really dont enjoy having to import random parts from outside, and working around them is a real nuisance (along with the fact they are really pricey sometimes, given that we would need like 3 for the corexy and 4 for the scissor lift) hmm it might be best for me to start with front facing points instead of side heights, basically a front facing profile first, well, let’s go then! (instead of locking in, the narrator went straight to catching up on messages and quite some time has passed (10:01 PM and now its 10:14 PM)) so uh, the whole things gotta be mirrored right quick check that t nuts for 1010 sorry had to quickly get rid of an insect, anyways, why are 1010 extrusions intrepreted in inches??? im gonna implode (onshape doesnt have 1010 profiles) good news is that 10x10mm extrusions do exist on amazon, except theres no standard for them shoutout to this thing on amazon, first place with actual decent drawings for this ok, good news, the profile is now in onshape, most details are in, just except for the fillets (the listing thing doesnt provide that information, and onshape doesnt want it to exist). however, this is probably for the best for performance (cope) ok, for the sake of clarity, let’s name the parts: central: the part that remains stationary to the ground, so the electronics and the build plate build plate: the build plate, which sits above the electronics z scissor lift: the part that makes the z move, but NOT the subject itself (basically, the scissor mechanism) upper platform: the subject that gets moved, so the corexy and tool bay tool/docking bay: the docking bay for the tools shouldnt be that hard? yeah, fairly straightforward. anyways, thats the standard i guess im gonna use for the cad woo 3mm gt2 belts actually exist! found some here on aliexpress anyways, for this corexy setup (no, we arent cadding it yet, im working on side heights right now), we’re NOT gonna be fitting the belts inside/between the rods (did i mention that already? i think i did, we’re using rods), but instead we’ll make them side by side, one second a little doodling later, here’s what i mean! ok, so here’s the order we should mastersketch in, since ive been twirling around the cad for like a good couple minutes now base and side heights (obviously) z lift (what!) (since this is super influential in the amount of space we get) corexy (upper layer stuff) (needed before tool stuff) motor positions! (this influences docking area spaces) tool base and docking area compact main electronics area so uh, how does one even have a scissor lift with a screw in the middle? i forgot to press record. well, yeah, its been a bit, i took a bit of a break, it’s 12:38 AM, i think im gonna stop here for today! of course, there’s still lots to do, but yeah, seems like a good place to stop for today! it’s 12:39 AM, and yeah, good night!
9/14/2026 - 6th Update! ok, ill admit, it’s pretty late, it’s currently 12:22 AM on 9/15/2026 (but that doesnt mean progress cant happen!) quick glance at the schedule 9/13/2026 - 9/19/2026 Mastersketch (3-4 days) Physics Work (1 day) Subsystems (Basic) (2-3 days) i doubt that itll be possible to finish the mastersketch in two more days (not counting today), considering the meetings and stuff, so mastersketch work might take up the entire week, but also, making all the subsystems in a week was also super unrealistic anyways, may the cad resume! so, ive been thinking about the structural integrity, what does the extrusion actually do (other than forming some sort of support structure)? it would be more compact to just have two rods with the belts running on the side, which should offer the same level of support (the only worry i have with that is basically the back would have to be pretty strong) basically, a C shaped structure of that size (with the gap being the front) has the potential to be wobbly (as exemplified by the early assembly of the spark frame). ngl, i can’t really remember if it was super bad, i think after tightening the screws it was actually pretty strong anyways, point is that it might be worth it to have an extra extrusion on the front (though, i dont think it’ll be necessary given the amount of gussets and stuff at the back) now, how will the rods be installed? on spark, it was basically friction fit, except it wasnt really a fun experience (fun fact, to install the z rods i had to put all my weight on the part, yes, i also had to add the bearings by jumping on the parts). this is not optimal. obviously. one solution can just be using heat inserts and just driving the screw to clamp it, or just use a giant clamp. idk which one i like more, im personally not a big fan of having massive blocks at the ends with screws sticking out, so i think it’ll be more of a clamp style thing theres no way i listened to two full albums tonight, one second… ok, so enough chit chat, let’s get to the mastersketch! so uh, linear bearings are actually massive, gonna expand height to 7.5cm why am i actually locked in (why is this also appearing deceivingly straightforward), anyways, need to find some motors, then gonna end it there! nema11 31mm length nema11 45mm length anyways, gotta decide on one of those, then the cursed geometry to combine the stepper motor, linear rods, and aluminum extrusions together ok, so we just have one of the pivots being stationary, i think? probably the back corner? and then the sliding one does the force and yeah well, that’s about it for today! lots of planning, but also a good amount of cad work (at least for around 1.25 hours of work!)! well yeah, hopefully i can start working on this earlier tomorrow (had to get home today by train, probably not the best move), but yeah! it’s 1:37 AM, so yeah, good night!
9/15/2026 - 7th Update! uh, it’s even later than yesterday, it’s actually 1:37 AM right now. anyways, you think id miss an updatelog :p (no, this isnt a continuation of yesterday’s session, its actually been a whole 24 hours) not much talking, i want to get at least half an hour of cad done today! ok, so for the rods on the z lift, we need to have limits, and we gotta define the ending blocks at this point… also, we’re gonna be using whatever screws the motors use (unless theyre somehow too big for our purposes), just because its, well, optimial i guess my sourcing adventures have told me about the F4-9M thrust bearing. idk. so uh, imma ignore that and try to solve it, one second ok, good news, we now have a solid 5cm of build height (in the worst case scenario, how low the tools are is the biggest influence for this, this statistic assumes the worst case that the tool reaches the very bottom). yeah. so. we do need to optimize the scissor lift bit to squeeze more height in ok, so it’s 2:27 AM, did a bit of z and corexy work today. yeah, we’re running pretty close to deadline, ill see what i can do tomorrow, hopefully with an earlier start? also, another note, the build plate representation was done yesterday (but i just put it below the rollback bar for things to be more accessible while working on it) so yeah! it’s 2:30 AM, so yeah, good night!
9/16/2026 - 8th Update! hey! it’s 12:22 AM, we are back earlier than yesterday but not as early as i would’ve hoped, but that’s alright! ok, yesterday’s updatelog has been moved over, time to get to the cad! a quick check on what we need to work on: MOST - base and side heights (obviously) MOST - z lift (what!) (since this is super influential in the amount of space we get) SOME - corexy (upper layer stuff) (needed before tool stuff) motor positions! (this influences docking area spaces) NONE - tool base and docking area NONE - compact SOME - main electronics area well, let’s get to it! ok, i need to think of what the belt path looks like, we have the switch back stuff towards the front, of course, but for the back? i guess id probably just use a bearing to push it to the center, since i do need to consider im trying to fit this in a really tight space can we just put the bearings inside the motors shafts (shh) (not a bad idea except its probably a bad idea) so uh. we have a ton of geometry fixes to do. right now, theres not enough space in the middle, and the only real way to fix that is to stack the corexy stuff on top of the linear rods, not to the side (there literally just isnt enough space at that point.) it might sacrifice a bit of height but it’ll be able to have around 2.6cm extra space on the x direction seems like it’ll sacrifice roughly 0.7cm? but again, the stuff would be higher up so that might also cancel things out so uh. i think i gotta just redesign the whole thing at this point i think i might use thinner rods for this, idk, just a thought so uh, on second thought, how am i gonna make the belt go through a rod… (you go around it!) very good news! turns out, the calculations were a bit wonky, and now we should have like 9cm of height? maybe? this looks pretty decent for the pulleys? so yeah, that’s the current status of things! sorted out the lift stuff (i think?), and did some of the pulley stuff (so that we can add belts pretty quickly)! after that is probably tool base work? just remembered that the belts on a different layer (as in, its above), so fixed that and made it a bit more compact! reminder to self to add a tensioner at some point ok, stuff got updated, not too much changed, mostly just small fixes and changes here and there well, it’s 2:08 AM, a decent amount of stuff done today, i don’t think that we’re exactly done yet, so we are now technically falling behind schedule, but we’ll see how much can get done by the end of saturday? anyways, yeah, that said, good night!
9/17/2026 - 9th Update! ok, we’re back! it’s 12:47 AM, enough talking, let’s get back to cad work! looking at the todo list, i think we want to finish the corexy definitions (mostly just the motor positions), i think im gonna try to add the belt paths in my free period tomorrow in school, tool base work needs to get started today, gotta consider a configuration, still considering if doing a tool changer by only switching the filament and the tool is the move (as in, if its the most feasible) anyways, cad time! (also, friendly reminder that we need to put a motor on the gantry somewhere) (how does one even start here?) so ive been thinking, uh, nvm, not that great of an idea. basically, what if we move the docking/tool area to the front, so that we can have the motor pointing towards the back (where the corexy motors are) for better storage. it’ll probably work, but that’s kinda a nightmare for supports? unless, of course, its super light hmm im actually seriously considering this, since its such a nice geometry (it also moves the printing area to the center, which should theoretically let us print there instead of aiming to print in the very outside/front area) (also, in theory, the back is heavy enough with two whole motors to balance things out, if needed, weights can also be added, but i dont think thats necessary) (insert fun geometry change montage) (why does my leg hurt) ok, so stuff has been updated and fixed, the idea is the motor points, you know what, lemme just cad it also, note, we kinda dont have a second linear rod for the purpose of, you know, cancelling our rotation, might have to add that soon ok, since we’re here, im thinking of using 6mm rods because 8mm might be unnecessary because we have the rods in pairs (specifically, the cantilever side of the lifted part), so we get that benefit fun fact, it might be possible to stash all the motors in the back. yeah its not necessary but it would be cool :p actually, i dont think im gonna do that, its also probably better to just keep the z motors at the front since we can actually have a belt path that way… new issue! if we place it in the front theres basically no space to put the tools for the tool changing ok, idk if the belt can even fit like that, but lets say it can (basically, it has to go under the corexy motors)… unless it doesnt… ngl it might be easier to have 3 motors for this, since they funnily enough perfectly slot in (maybe? not sure but its an idea) ok, so not too much done today, mostly just design changes and stuff, yeah, a good amount of fixes here and there hopefully tomorrow i can start earlier (since its friday and no after school stuff is planned for tomorrow?), that said, it’s 2:21 AM and yeah, good night!
9/18/2026 - 10th Update! it’s like 1:43 AM, wasnt gonna write a log for today, but might as well? anyways, added a stack, hopefully i remember to make those actually tensioners later 6.540 cm vs 5.162 cm, we should be able to tension up to 1 cm with this setup? hmm i really dont know how to do this setup, with two rods here? anyways, the corexy belts are added, just trying to get the tool base profile working? considering maybe using a linear rail here, or maybe even v wheels for the extrusion? (idk) mfw looking for MGN9C models and the specs dont include data on the screw hole size for some reason yeah uh the screw hole is bigger than the middle section of the extrusion, might have to use MGN7C at this point well, after a bunch of research, i think using the rail is the method, though, im not sure exactly how we should use it. mounting it above an extrusion is probably the best setup here, except 10mm x 10mm rails are like super niche or something since basically no one sells them (pla t nuts cant be too bad… right?) welp, not sure, not much cad updates today, mostly research? also, the reason i didnt start earlier today was because i sorta fell asleep today for four hours in the afternoon after coming back from school, oops, anyways, it’s 2:42 AM now and yeah, good night!
9/20/2026 - 11th Update! missed one day, but miss two? i dont think so. anyways, dramatic opening aside, it is 11:25 PM, just celebrated cake day (a couple days late but still great :D), so yeah, in celebration of becoming yet another year older (my foot hurts), time to get cadding! (brb) ok, it’s 11:50 PM, might need to lock in, in other news, doggie just got 97% (again) and 91% on grief tonight! might want to tune in (if youre reading this from the future, today’s stream 390) anyways, first things first, we need to find a stepper motor ideally with lead screws built in (those exist?) (yeah, apparently so) ok, it’s 11:58 PM, gonna go watch a movie, brb! ok ive returned at 1:30 AM to focus on two things at once (i gotta get the sticker streak continuing), so yeah ok now what are the heights of mgn7c rails… why does no one have cad models for mgn7c rails that arent filled with other stuff… ok 1:46 AM and now im actually gonna be fully focused so, this might not be the most ideal setup. currently the motors really far in the back, however, theres no real mounting solution going on here, so here’s the dilemma. the motors too big. like. too big. additionally, this means that it kinda pokes through the back, or in a weird way. anyway this happens isnt very good, since the gearing has to go through the extrusion. obviously, we can do a hex adapter and do a spark here, but that’s not a good idea for obvious reasons (re: spark ) do we actually have to look into pancake motors? yeah, i think we do… also, one more thing, it might be a good idea to split the belts to be on both sides instead of just one, just to balance things out a bit got a little distracted with compact hotends , but yeah, went down a rabbit hole, we need ptfe tubes (spark did not have these), wow, theres a lot to do turns out, sourcing these things is super annoying! looked for nema 11s with integrated lead screws, all of them are mad expensive, probably just gonna use a shaft coupler, yep certainly am. anyways, lets do some math, the 45mm motors have (allegedly) 10Ncm of torque, should be enough with a T8 screw and having two of them (additionally, to help with lower layers, an idea that came across the other day was adding springs at the bottom) uh idt this is gonna reach the full range… anyways, it’s 2:43 AM, mostly a bunch of research and small adjustments, nothing too big today, hopefully more stuff tomorrow? that said, it’s 2:44 AM, good night!
9/21/2026 - 12th Update! You couldn’t build a printer in a week. You can’t build a printer in a week. Yeah, I know. You’ve got eight or so days left. And you spent the last three grinding Geometry Dash. Yeah, 158% on nine paws, woo! And you’re not at all concerned about the time? The what? welcome back! it’s 12:08 AM on the morning of 9/22/2026, and boy did i realize the entire weekend and the extra day off disappeared in a blink of an eye. yes, i finally beat the level, now moving on to something way more difficult, but first, it’s time to address the bigger issue in the room. yes, technically fermion, but also time. pause the music, it’s getting a bit serious here. we have a solid 8 or so days left. we didnt spend the weekend well, i didn’t spend the weekend well. but hey, we can’t get that time back. what a mindset, instead, i gotta start actually spending my time efficiently. yes, i beat the level, but now, i need to take a break. not because of exhaustion, but because we literally don’t have enough time to play gd at the same time. its just not able to fit there. It’s not meant to be easy, you know. who is that guy in italics? idk, they’re kinda weird. anyways, question is, what now? 8 days. lock in. if we cant get this done by the end of stardance, id probably look into exporting this to a similar ysws, hopefully to finish it there in time for the winter season, because that’s a pretty fun time to build stuff before build season starts, and when college applications are mostly over! that said, back to the cad… ok, we need to sort out the motor support first, one second. ok, that should be good, ok, ive got a plan. but it requires the tool head to be both unbalanced, weirdly shaped, and quite low. of course, that’s if we’re still going with the small tool idea, we can always just slap three extra motors and call it a day, but thats too easy and probably more sane. theres no avoiding it, gotta get designing that now mfw 8.8cm for the available tool space (horiziontally) at that point might as well just have two tool heads that swap out with the motor and all at the front im thinking of a ton of possible configurations, lets write them out idea 1 z motors are in the front, belted to the lead screws corexy motors move to the side still doesnt solve the issue that the tool head areas front does look cooler no neat place to put the tool head idea 2 similar to the first idea in the the z motors and lead screws are belted together, but the z motor is above, facing backwards, belted to the lead screw, so that it can be at an angle (getting this to the other side would be wonky, but perhaps doable) this should move the lead screws closer to the sides, giving more space! (also look into different things that move on the t screw that are smaller, perhaps smaller than T8 lead screws?) huh. i seem to have forgotten to add yesterdays log to the website. oops. well, that just got added, some weird time stuff but yeah. well yeah, it’s 1:17 AM, and i think i like the second idea. checking the cad, it’s probably possible to fit this (its gonna be close?), so thats cool! anyways, yeah, good night!...
|
1793159294.6561189
|
1793764094.6561189
|
|
71777
|
fero by @Cyber_Sigil | Stardance
|
Cyber_Sigil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fero by @Cyber_Sigil | Stardance
|
1793202436.9464893
|
1793807236.9464893
|
|
53729
|
ferretboard v2 by @louis-bourgault | Stardance
|
louis-bourgault
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ferretboard v2 by @louis-bourgault | Starda Title: ferretboard v2 by @louis-bourgault | Stardance...
|
1793501607.5143883
|
1794106407.5143883
|
|
749
|
ferrocompiler by @idident | Stardance
|
idident
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ferrocompiler by @idident | Stardance
|
1793245813.744759
|
1793850613.744759
|
|
47666
|
fetalsentry by @gyandakshin | Stardance
|
gyandakshin
|
0
|
14.92
|
0
|
[]
|
[{"post_id": 75764, "ts": "202 [{"post_id": 75764, "ts": "2026-10-01T01:11:27Z", "hours": 14.9189, "text": "Science Fair Project called FetalSentry. In childbirth, fetuses can die, called stillbirth. It can cause lots of complications, and if hospitals or the individual does not have the means to remediate it, it can have serious consequences. FetalSentry is a device that can pull fetal ecg from an electrode, and test the recoverability of that single recording so there are no false results. Code and CAD work done"}]...
|
Title: fetalsentry by @gyandakshin | Stardance
De Title: fetalsentry by @gyandakshin | Stardance
Devlogs:
Science Fair Project called FetalSentry. In childbirth, fetuses can die, called stillbirth. It can cause lots of complications, and if hospitals or the individual does not have the means to remediate it, it can have serious consequences. FetalSentry is a device that can pull fetal ecg from an electrode, and test the recoverability of that single recording so there are no false results. Code and CAD work done...
|
1793191809.9346795
|
1793796609.9346795
|
|
35884
|
fetchfetch by @bowen | Stardance
|
bowen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fetchfetch by @bowen | Stardance
|
1793202698.7157624
|
1793807498.7157624
|
|
49807
|
fff by @Wahhab | Stardance
|
Wahhab
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fff by @Wahhab | Stardance
|
1793306978.101319
|
1793911778.101319
|
|
44571
|
fhsdg by @jummaevnurali | Stardance
|
jummaevnurali
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fhsdg by @jummaevnurali | Stardance
|
1793282054.06321
|
1793886854.06321
|
|
42383
|
fieldPlate by @Maarxius | Stardance
|
Maarxius
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T19:27:00Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "fieldPlate This project started out as a joke. I had a funny thought of converting a camera tripod into an armrest. Then I thought, I have a 3D printer plate that’s flat enough. Why not turn that into a table and stick it on top of a tripod? Maybe some godforsaken photographer could use it while they’re out in the field, and thus fieldPlate was born. Unfortunately, I do not have the time to do this project the full justice it deserves. That’s definitely a full P3 thing. However, I’m pretty proud of what I’ve done. In essence, it’s a very simple project. It’s just a tripod attachment with four arms, which allows you to hold things, and it works. It’s pretty good. It also has magnetic attachments, so you don’t have to worry about the plate sliding off very easily. If you’re the one who’s going to be printing this, I’d recommend that you print the puck upright and slice the arms so that they’re all separate. Once you download the stls, there’ll be a bit of post processing. for the arms especially, remember to use the split tool to separate them from each other. the .3mf file does this already, but you can also removed the grabber thing from three of the arms if you wish M3 screws and magnets recommended/needed Happy… Plating? Anyways, that’s it.", "repo": "https://github.com/vismaysjayaram/fieldPlate-CAD", "demo": ""}]...
|
[{"post_id": 50286, "ts": "202 [{"post_id": 50286, "ts": "2026-08-19T13:15:59Z", "hours": 2.1336, "text": "Devlog 2 Prototype 2 This is my second prototype. I looked at my feedback from the first one. The first prototype went well. There were definitely some slicing issues related to the Hilbert curve that I use on top. I don’t think my printer managed to fully capture how cool it looks, so I switched to a bit more of a simple pattern. I chose another, nicer geometric pattern. I added some screw holes, and I decided to design some arms. It’s like a four-piece arm with some screws, which allow it to stay in place. I added a little notch on one of the arms, which allows it to stay stable. I’ll be attaching some photos of P2. Testing I tested it, and in terms of stability, it’s much better. However, there were a couple of issues. Assembling it is still very annoying, simply because of the way I placed the screw holes. It was a little annoying to align the screws. I don’t think I made the chamfers to guide the screws in very nicely. I probably could have gotten away with larger holes on the arms, just so that they align a bit easier. I’ happy with how the arms came out. I probably could have gotten away with just a simple shell instead of all that fancy ribbing, but, you know, it’s okay. Slicing was definitely a pain, but I think I managed to get that done. It’s looking good, and I would make a P3 if I had the time, but unfortunately, I just don’t have the time. So this is the end of the project. Future Improvements In terms of the future, in terms of what I would love to do next, I got some much stronger 8 × 3 magnets, which I would like to use, and definitely figure out some better mounting system. Unfortunately, my summer vacation is over, so I don’t have the time. Also, I ran out of filament, so I couldn’t print the other three arms. Ciao!"}, {"post_id": 40647, "ts": "2026-08-04T10:19:53Z", "hours": 1.2833, "text": "Devlog 2 First Prototype This is my first prototype for fieldPlate.I’ll be attaching a picture of the prototype below, but I jumped into Fusion 360 and, based on my notes, came up with P1, or Prototype 1. There were a couple of things I did not foresee that I had to work around when prototyping. Surprisingly, the screws are rather big compared to the magnets that I’m using, so I had to come up with a weird cutout arrangement. When I started testing the prototype, I discovered that my magnets really aren’t all that strong. So that might be an issue that I have to fix by buying some new and stronger magnets for future prototypes. Testing In terms of stability, it’s okay. The small framework, especially the 42 × 42 frame, isn’t very stable. It’s just balancing at this point. However, it seems to work all right, and it’s honestly not too bad. I was able to hold a speaker directly offset from the frame so it was just hanging, and it managed to keep it in place. Next Steps Definitely, I’m going to have to work on the side mounts and also the puck which actually attaches to the screw holes.But that’s what I’m going to work on next.I’ll be attaching some pictures of what I built and what it’s looking like right now."}, {"post_id": 38806, "ts": "2026-08-01T11:25:23Z", "hours": 1.15, "text": "Devlog 1: Tricking a PEI Plate into holding Coffee The Idea All right, so this is the start of my new project, fieldPlate. fieldPlate is a funny little idea I had when sitting down to read a book. What if you attached a table onto a tripod?The premise is really very simple. I was thinking of ways that you could make a tripod more comfortable to rest your hand on for an armrest, as one does on a perfectly normal Saturday night. However, I realized that a PEI plate that you find on most common 3D printers is made out of metal, is magnetic, and is roughly the size of a table, which makes it quite portable. Thus I had the wonderful idea to try and create a project that could take a 3D printer printing plate, which is normally made out of metal, and convert that into a table which you can attach onto a tripod. And that’s basically what this project is going to be like. Prototyping In this session, all we did was jump into a notes app and spend about an hour prototyping by drawing a couple of ideas and designs.The final product will be about maybe 40 to 50 millimeters tall. It’ll be around 42 by 42 and 43 by 43 millimeters on both ends, respectively. The top end will be magnetic with a little bit of a dock or puck, which you can screw in. So if you have a different kind of magnet, you can remove the existing design and replace it with a remix of your own. (pls remix) There will also be four arms which connect to the corners of the field to prevent slipping or sheering. Finally, the arms can be screwed into place via three screws per side. Practicality Now, I will admit that this idea is not exactly the most practical, as most people don’t exactly go running around with extra PEI plates on their person. But I have a solution for that. I will also be releasing a plastic version of the plate so that you can simply screw it in and use it. Again, this idea is still not practical because there are more useful prototypes and products out there.But I think this is a funny idea, and it’s a good design challenge for me to try and apply some skills that I’ve been learning in Fusion 360 to this. I’ve never really worked with so many components before, and since this is a very hardware-focused product, and I already have a 3D printer, I think this will be a very interesting challenge for me. Comment any ideas pls. Maybe gridfinity?"}]...
|
Title: fieldPlate by @Maarxius | Stardance
Devlog Title: fieldPlate by @Maarxius | Stardance
Devlogs:
Devlog 1: Tricking a PEI Plate into holding Coffee The Idea All right, so this is the start of my new project, fieldPlate. fieldPlate is a funny little idea I had when sitting down to read a book. What if you attached a table onto a tripod?The premise is really very simple. I was thinking of ways that you could make a tripod more comfortable to rest your hand on for an armrest, as one does on a perfectly normal Saturday night. However, I realized that a PEI plate that you find on most common 3D printers is made out of metal, is magnetic, and is roughly the size of a table, which makes it quite portable. Thus I had the wonderful idea to try and create a project that could take a 3D printer printing plate, which is normally made out of metal, and convert that into a table which you can attach onto a tripod. And that’s basically what this project is going to be like. Prototyping In this session, all we did was jump into a notes app and spend about an hour prototyping by drawing a couple of ideas and designs.The final product will be about maybe 40 to 50 millimeters tall. It’ll be around 42 by 42 and 43 by 43 millimeters on both ends, respectively. The top end will be magnetic with a little bit of a dock or puck, which you can screw in. So if you have a different kind of magnet, you can remove the existing design and replace it with a remix of your own. (pls remix) There will also be four arms which connect to the corners of the field to prevent slipping or sheering. Finally, the arms can be screwed into place via three screws per side. Practicality Now, I will admit that this idea is not exactly the most practical, as most people don’t exactly go running around with extra PEI plates on their person. But I have a solution for that. I will also be releasing a plastic version of the plate so that you can simply screw it in and use it. Again, this idea is still not practical because there are more useful prototypes and products out there.But I think this is a funny idea, and it’s a good design challenge for me to try and apply some skills that I’ve been learning in Fusion 360 to this. I’ve never really worked with so many components before, and since this is a very hardware-focused product, and I already have a 3D printer, I think this will be a very interesting challenge for me. Comment any ideas pls. Maybe gridfinity?
Devlog 2 First Prototype This is my first prototype for fieldPlate.I’ll be attaching a picture of the prototype below, but I jumped into Fusion 360 and, based on my notes, came up with P1, or Prototype 1. There were a couple of things I did not foresee that I had to work around when prototyping. Surprisingly, the screws are rather big compared to the magnets that I’m using, so I had to come up with a weird cutout arrangement. When I started testing the prototype, I discovered that my magnets really aren’t all that strong. So that might be an issue that I have to fix by buying some new and stronger magnets for future prototypes. Testing In terms of stability, it’s okay. The small framework, especially the 42 × 42 frame, isn’t very stable. It’s just balancing at this point. However, it seems to work all right, and it’s honestly not too bad. I was able to hold a speaker directly offset from the frame so it was just hanging, and it managed to keep it in place. Next Steps Definitely, I’m going to have to work on the side mounts and also the puck which actually attaches to the screw holes.But that’s what I’m going to work on next.I’ll be attaching some pictures of what I built and what it’s looking like right now.
Devlog 2 Prototype 2 This is my second prototype. I looked at my feedback from the first one. The first prototype went well. There were definitely some slicing issues related to the Hilbert curve that I use on top. I don’t think my printer managed to fully capture how cool it looks, so I switched to a bit more of a simple pattern. I chose another, nicer geometric pattern. I added some screw holes, and I decided to design some arms. It’s like a four-piece arm with some screws, which allow it to stay in place. I added a little notch on one of the arms, which allows it to stay stable. I’ll be attaching some photos of P2. Testing I tested it, and in terms of stability, it’s much better. However, there were a couple of issues. Assembling it is still very annoying, simply because of the way I placed the screw holes. It was a little annoying to align the screws. I don’t think I made the chamfers to guide the screws in very nicely. I probably could have gotten away with larger holes on the arms, just so that they align a bit easier. I’ happy with how the arms came out. I probably could have gotten away with just a simple shell instead of all that fancy ribbing, but, you know, it’s okay. Slicing was definitely a pain, but I think I managed to get that done. It’s looking good, and I would make a P3 if I had the time, but unfortunately, I just don’t have the time. So this is the end of the project. Future Improvements In terms of the future, in terms of what I would love to do next, I got some much stronger 8 × 3 magnets, which I would like to use, and definitely figure out some better mounting system. Unfortunately, my summer vacation is over, so I don’t have the time. Also, I ran out of filament, so I couldn’t print the other three arms. Ciao!
Ships:
fieldPlate This project started out as a joke. I had a funny thought of converting a camera tripod into an armrest. Then I thought, I have a 3D printer plate that’s flat enough. Why not turn that into a table and stick it on top of a tripod? Maybe some godforsaken photographer could use it while they’re out in the field, and thus fieldPlate was born. Unfortunately, I do not have the time to do this project the full justice it deserves. That’s definitely a full P3 thing. However, I’m pretty proud of what I’ve done. In essence, it’s a very simple project. It’s just a tripod attachment with four arms, which allows you to hold things, and it works. It’s pretty good. It also has magnetic attachments, so you don’t have to worry about the plate sliding off very easily. If you’re the one who’s going to be printing this, I’d recommend that you print the puck upright and slice the arms so that they’re all separate. Once you download the stls, there’ll be a bit of post processing. for the arms especially, remember to use the split tool to separate them from each other. the .3mf file does this already, but you can also removed the grabber thing from three of the arms if you wish M3 screws and magnets recommended/needed Happy… Plating? Anyways, that’s it....
|
1793692525.8260846
|
1793778925.8260846
|
|
27472
|
fifa lineup generator by @goodaysarecomingsoon | S fifa lineup generator by @goodaysarecomingsoon | Stardance...
|
goodaysarecomingsoon
|
1
|
19.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T10:45:54Z", "hours": 19.0, "multiplier": 2.47, "payout": 25, "blessing": "neutral", "text": "I’ve been involved with the school football team , but creating our lineup has been a nightmare. When I tried using ai tools like chatgpt but it cant create my lineup as i wish or i will run out of token :( so i create this project. My project is simple. It includes a front‑end UI page, squad creation, and a current World Cup squad example hosted on my website The World Cup squad is not official it’s based on my personal opinion:) The hardest part was designing the formation background graphics, I used an AI‑generated image for that. The most irritating part for is was styling, positioning, debugging, and arranging positions:).", "repo": "https://github.com/Optimus-Prime04/Fifa-lineup-generator", "demo": "https://fifa-lineup-generator.vercel.app/"}]...
|
[{"post_id": 17519, "ts": "202 [{"post_id": 17519, "ts": "2026-06-28T10:25:38Z", "hours": 18.7042, "text": "finally done"}]...
|
Title: fifa lineup generator by @goodaysarecomings Title: fifa lineup generator by @goodaysarecomingsoon | Stardance
Devlogs:
finally done
Ships:
I’ve been involved with the school football team , but creating our lineup has been a nightmare. When I tried using ai tools like chatgpt but it cant create my lineup as i wish or i will run out of token :( so i create this project. My project is simple. It includes a front‑end UI page, squad creation, and a current World Cup squad example hosted on my website The World Cup squad is not official it’s based on my personal opinion:) The hardest part was designing the formation background graphics, I used an AI‑generated image for that. The most irritating part for is was styling, positioning, debugging, and arranging positions:)....
|
1793695681.9663286
|
1793782081.9663286
|
|
1677
|
fifa-card-maker by @goodaysarecomingsoon | Stardan fifa-card-maker by @goodaysarecomingsoon | Stardance...
|
goodaysarecomingsoon
|
1
|
0.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T09:36:55Z", "hours": 0.0, "multiplier": 1.44, "payout": 1, "blessing": "neutral", "text": "i made fifa card maker in which users can upload their image and create their own cards,providing the dowload option was tough i referred ai fot it and i am proud of the outcome", "repo": "https://github.com/Optimus-Prime04/fifa-card-generator", "demo": "https://fifa-card-generator-gamma.vercel.app/"}]...
|
[{"post_id": 2802, "ts": "2026 [{"post_id": 2802, "ts": "2026-06-05T16:59:09Z", "hours": 0.4756, "text": "fifa-card-maker"}]...
|
Title: fifa-card-maker by @goodaysarecomingsoon | Title: fifa-card-maker by @goodaysarecomingsoon | Stardance
Devlogs:
fifa-card-maker
Ships:
i made fifa card maker in which users can upload their image and create their own cards,providing the dowload option was tough i referred ai fot it and i am proud of the outcome...
|
1793642097.9089956
|
1793728497.9089956
|
|
4480
|
figgie chrome extension by @akshat | Stardance
|
akshat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: figgie chrome extension by @akshat | Starda Title: figgie chrome extension by @akshat | Stardance...
|
1793220581.4222276
|
1793825381.4222276
|
|
71181
|
fighthime! by @bahan_hime | Stardance
|
bahan_hime
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fighthime! by @bahan_hime | Stardance
|
1793584198.3592153
|
1794188998.3592153
|
|
71182
|
fighthime! by @bahan_hime | Stardance
|
bahan_hime
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fighthime! by @bahan_hime | Stardance
|
1793584199.2557263
|
1794188999.2557263
|
|
2373
|
fightstick by @kakenbutter | Stardance
|
kakenbutter
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fightstick by @kakenbutter | Stardance
|
1793256575.9268136
|
1793861375.9268136
|
|
71252
|
fih operating system by @irongolem_7653 | Stardanc fih operating system by @irongolem_7653 | Stardance...
|
irongolem_7653
|
0
|
1.26
|
0
|
[]
|
[{"post_id": 83556, "ts": "202 [{"post_id": 83556, "ts": "2026-10-28T04:27:43Z", "hours": 0.5667, "text": "minigame called bubble pop"}, {"post_id": 83108, "ts": "2026-10-26T22:14:30Z", "hours": 0.6931, "text": "fih os"}]...
|
Title: fih operating system by @irongolem_7653 | S Title: fih operating system by @irongolem_7653 | Stardance
Devlogs:
fih os
minigame called bubble pop...
|
1793591559.964273
|
1794196359.964273
|
|
59220
|
fih/fish os by @Skoooober | Stardance
|
Skoooober
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fih/fish os by @Skoooober | Stardance
|
1793540853.0354884
|
1794145653.0354884
|
|
17799
|
filament dryer (budget friendly) by @WillD | Stard filament dryer (budget friendly) by @WillD | Stardance...
|
WillD
|
0
|
9.1
|
0
|
[]
|
[{"post_id": 15487, "ts": "202 [{"post_id": 15487, "ts": "2026-06-25T05:35:12Z", "hours": 2.9639, "text": "Finished Github repo Finished design Added github repo and finished it with a BoM and a contributions.md"}, {"post_id": 8571, "ts": "2026-06-14T07:48:58Z", "hours": 1.3444, "text": "worked on circuit drawing for my readme Did research on how to wire the thermostat added items to my BoM added items include: Cartridge Heater 12V 40W 6 x 20mm for heating W1209 Thermostat for controlling and montoring temp 12v DC 4A power supply for controlling the thermostat and cartridge heater."}, {"post_id": 7997, "ts": "2026-06-13T10:42:20Z", "hours": 1.7731, "text": "worked on hinges Hinges now work with clearing Tried to find a clear material with a high temp resistance but couldnt so the top lid (or Top Shell) will be white as well as the bottom (Bottom Shell) The material I will use is 1172 pro nylon. 179 degrees celc resistance good toughness high print quality"}, {"post_id": 7944, "ts": "2026-06-13T07:59:22Z", "hours": 0.9033, "text": "Research and BoM Short: created my BoM (bill of materials) and researched modules to measure humidity+heat. Main boards are Xiao boards and for the heatmat a Reptile heat mat I have laying around from my ant colonies"}, {"post_id": 7923, "ts": "2026-06-13T06:31:37Z", "hours": 2.1158, "text": "The designing process. I worked on a 3d design using onshape, I found a model of a 1:1 scale of the bambu lab resuable spool and used that to design the dryer with. I went for a simple design but added features that the other ones you see online dont. The design on paper is a sketch so I had something to fall back on when I didnt know how I was going to shape the shell of the dryer. The 3d model at the moment is a full 1:1 scale"}]...
|
Title: filament dryer (budget friendly) by @WillD Title: filament dryer (budget friendly) by @WillD | Stardance
Devlogs:
The designing process. I worked on a 3d design using onshape, I found a model of a 1:1 scale of the bambu lab resuable spool and used that to design the dryer with. I went for a simple design but added features that the other ones you see online dont. The design on paper is a sketch so I had something to fall back on when I didnt know how I was going to shape the shell of the dryer. The 3d model at the moment is a full 1:1 scale
Research and BoM Short: created my BoM (bill of materials) and researched modules to measure humidity+heat. Main boards are Xiao boards and for the heatmat a Reptile heat mat I have laying around from my ant colonies
worked on hinges Hinges now work with clearing Tried to find a clear material with a high temp resistance but couldnt so the top lid (or Top Shell) will be white as well as the bottom (Bottom Shell) The material I will use is 1172 pro nylon. 179 degrees celc resistance good toughness high print quality
worked on circuit drawing for my readme Did research on how to wire the thermostat added items to my BoM added items include: Cartridge Heater 12V 40W 6 x 20mm for heating W1209 Thermostat for controlling and montoring temp 12v DC 4A power supply for controlling the thermostat and cartridge heater.
Finished Github repo Finished design Added github repo and finished it with a BoM and a contributions.md...
|
1793364933.012245
|
1793969733.012245
|
|
53261
|
filament-sensor by @Purus | Stardance
|
Purus
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: filament-sensor by @Purus | Stardance
|
1793479970.3741999
|
1794084770.3741999
|
|
8757
|
filc by @vince | Stardance
|
vince
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: filc by @vince | Stardance
|
1793462051.1422186
|
1794066851.1422186
|
|
58983
|
file explorer by @Ninjagamer | Stardance
|
Ninjagamer
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: file explorer by @Ninjagamer | Stardance
|
1793523193.2169175
|
1794127993.2169175
|
|
49332
|
file-organizer-pro by @Dakshu | Stardance
|
Dakshu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: file-organizer-pro by @Dakshu | Stardance
|
1793278085.7309296
|
1793882885.7309296
|
|
56839
|
filipity.xyz by @Filipity | Stardance
|
Filipity
|
1
|
4.01
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T19:52:13Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my own social website!", "repo": "https://github.com/FILIPITY/filipity", "demo": "https://filipity.xyz/"}]...
|
[{"post_id": 59870, "ts": "202 [{"post_id": 59870, "ts": "2026-09-01T21:00:21Z", "hours": 0.4456, "text": "so far so good!"}, {"post_id": 59852, "ts": "2026-09-01T20:32:34Z", "hours": 1.5619, "text": "im working on a new page for my website!!! (the picture says for itself)"}, {"post_id": 59149, "ts": "2026-08-31T19:32:48Z", "hours": 0.5614, "text": "i am super close to being done! i havent added all of my buttons yet!"}, {"post_id": 59085, "ts": "2026-08-31T18:20:15Z", "hours": 0.4225, "text": "i have added a animated background! i got some help from my smart friend to make it work!"}, {"post_id": 59068, "ts": "2026-08-31T17:52:36Z", "hours": 0.5803, "text": "I have gotten colors working!! (note this is my first time coding with html)"}]...
|
Title: filipity.xyz by @Filipity | Stardance
Devl Title: filipity.xyz by @Filipity | Stardance
Devlogs:
I have gotten colors working!! (note this is my first time coding with html)
i have added a animated background! i got some help from my smart friend to make it work!
i am super close to being done! i havent added all of my buttons yet!
im working on a new page for my website!!! (the picture says for itself)
so far so good!
Ships:
i made my own social website!...
|
1793681726.2887313
|
1793768126.2887313
|
|
58263
|
financeBot by @bradlloyd | Stardance
|
bradlloyd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: financeBot by @bradlloyd | Stardance
|
1793483335.8138604
|
1794088135.8138604
|
|
55336
|
financial quantitative engine by @Maharoob | Stard financial quantitative engine by @Maharoob | Stardance...
|
Maharoob
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: financial quantitative engine by @Maharoob Title: financial quantitative engine by @Maharoob | Stardance...
|
1793159325.3768504
|
1793764125.3768504
|
|
13220
|
find c00lkidd by @AAA | Stardance
|
AAA
|
0
|
10.52
|
0
|
[]
|
[{"post_id": 10653, "ts": "202 [{"post_id": 10653, "ts": "2026-06-17T14:46:31Z", "hours": 10.5186, "text": "oh yea i forgot devlogs existed so…. BUT ANYWAYS I made the Introduction cutscene (whilst also making a cutscene handler for future scenes) although theres something a bit off about the animations and I can’t be bothered to figure it out after spending such a long time. I’ve also been continuing work on the final boss, making an intro scene for that as well. It’s not finished. Also I can’t animate and somehow have made several contorted Roblox characters while incorrectly closing Moon Animator"}]...
|
Title: find c00lkidd by @AAA | Stardance
Devlogs: Title: find c00lkidd by @AAA | Stardance
Devlogs:
oh yea i forgot devlogs existed so…. BUT ANYWAYS I made the Introduction cutscene (whilst also making a cutscene handler for future scenes) although theres something a bit off about the animations and I can’t be bothered to figure it out after spending such a long time. I’ve also been continuing work on the final boss, making an intro scene for that as well. It’s not finished. Also I can’t animate and somehow have made several contorted Roblox characters while incorrectly closing Moon Animator...
|
1793468852.6931324
|
1794073652.6931324
|
|
53852
|
find out by @ziyoda | Stardance
|
ziyoda
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: find out by @ziyoda | Stardance
|
1793509077.720138
|
1794113877.720138
|
|
65123
|
fine by @vyn | Stardance
|
vyn
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T19:43:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my first os for fun i like mac os so i tired to get that smooth look", "repo": "https://github.com/luismcshrimp-design/os", "demo": "https://luismcshrimp-design.github.io/os"}]...
|
[{"post_id": 74613, "ts": "202 [{"post_id": 74613, "ts": "2026-09-27T19:40:57Z", "hours": 0.6994, "text": "goofy os my first ship"}]...
|
Title: fine by @vyn | Stardance
Devlogs:
goofy os Title: fine by @vyn | Stardance
Devlogs:
goofy os my first ship
Ships:
i made my first os for fun i like mac os so i tired to get that smooth look...
|
1793685315.2107038
|
1793771715.2107038
|
|
243
|
fineLang by @sebastian | Stardance
|
sebastian
|
0
|
10.22
|
0
|
[]
|
[{"post_id": 31398, "ts": "202 [{"post_id": 31398, "ts": "2026-07-19T18:48:29Z", "hours": 3.2158, "text": "HOLDUP DID I COOK (dieLog #2) Finished : automatic “INDENT” and “DEDENT” enables codegen to space out blocks of code. : “IF” statement uses the new automatic system trough recusion : MAIN() function search for stzarting function for a basic C sytax. : Math OPERATORS such as “is” “is_not” “grater_than” less than… you get the point. Since in suffer levels 1 and 2 are used basic symbol types “<,>” etc, i didnt bother much checking the correctnbes of the implementation. CODE EXAMPLE (with the new stuff): - fineLang -> SUFFER: two ; FUNCTION main(): let x = 5 if x > 3: print(x) if x > 4: print(x) let y = 6 if (x add y > 10): print(“hi”) to C -> #include <stdio.h> int main() { int x = 5; if (x > 3) { printf(“%d\\n”, x); if (x > 4) { printf(“%d\\n”, x); int y = 6; if (x + y > 10) { printf(“hi\\n”); } } } } INTO THE ULTIMATE COMPILED STATE -> 5 5 hi To be honest. this was a very complicated test case, and i wouldnt lie if i said that If this fails i wouldnt be surprised THATS IT FOR TODAY!! thanks you for your time and have a nice day :>)"}, {"post_id": 30335, "ts": "2026-07-17T20:12:46Z", "hours": 1.1572, "text": "DieLog Heres what majestic stuff have we done Finelang now accepts CALCULATING OPERATORS and CHAINED calculated operation. lets give ourselves a representation let x = 5 add 7 multiuply 9 let y = x subtract 67 this adequetly transforms the code to the correct math operators, and let our big dawg figure out the operations. ’ lets see for ourselves. fineLang -> ´´´ SUFFER: two ; FUNCTION main(): let x = 5.5 times 2 let y = x divide 6 print(x) print(y) return 0 ´´´ into correct C ´´´ #include <stdio.h> int main() { float x = 5.5 * 2; float y = x / 6; printf(“%f\\n”, x); printf(“%f\\n”, y); return 0; } ´´´ this was amazingly painfull to do and im glad it works :) tomorows work is automationg codegen tabs / spaces, and being able for new code blocks"}, {"post_id": 30040, "ts": "2026-07-17T09:37:01Z", "hours": 0.4875, "text": "Float as pieces i modified our regex in tokeniser to accept numbers 0-9 with a dot inbetween and number(s) after this gets by tokeniser recognised as pices and codegen now correctly outputs it with F in the C printf command. The biggest problem C standartly takes 6 nuámbers after the dot so from x=5.6 you get 5.600000. That aint a big of a deal. Todo: Implement math opoerations, that can be cahined. Impement cloasable block operationh (function doesnt run until the end of a file) This also allows for automatic tabs in codegen instead of manual and allows implementation of someting like if/else"}, {"post_id": 29726, "ts": "2026-07-16T20:20:58Z", "hours": 1.5789, "text": "We got wokring avriables? so for levels 1 and 2 you dont need to define the type of variables, we right now have words - char* whole - int Incoming 3. ‘pieces’ for float in the codegen i designed a list lookup where if you create a vaiable with let its type, datatype name and value can be looked up for easyprint. parser had MAJOR fallback flaws witch i also patched. There was one teeny beeny mess up where i had if statement that basically said if (string) “IDENTIFIER” is equal to the equal sign. :( BUT WE KNOW FINELANG WORKS. tomorrow there comes maybe piees data type and “if” “else” statements ?"}, {"post_id": 29550, "ts": "2026-07-16T15:44:52Z", "hours": 0.5236, "text": "THIS CONCEPT WORKS so i completed the codegen to actualy buuild the C code, and made in main.py to open a new file called output.c Next output.c is compiled with gcc trough subprocess. if compilation succeeds we also call the binary itself, and THTS IT. next steps are to recognise and properly save variables and then be able to print them"}, {"post_id": 29504, "ts": "2026-07-16T14:13:11Z", "hours": 0.7756, "text": "What happened belive it or not, i made a working parser that works with all out keyword comands function, return,print, and let. Function- sadly right now couts as a non ending function so it ondly recursivly calls parse fro rest of the file, but thats easy solvable issue., Parser now generates correct AST, witch after building Codegen can be correctly transpiled into C heres a comparison code w/ AST code: SUFFER: two ; FUNCTION main(): let x = 5 print(“hello world”) return 0 AST: [{‘type’: ‘function’, ‘name’: ‘main’, ‘body’: [{‘type’: ‘let’, ‘name’: ‘x’, ‘value’: 5}, {‘type’: ‘print’, ‘value’: ‘hello world’}, {‘type’: ‘return’, ‘value’: 0}]}] as we can see theres a list (body) inside the whole list as a part od the main function. This is enough to generate correct C and run it ! since last time i also implemented errors.py witch is only a library of custom errors dataclas. the point of that is that with mopre complexity in our programming language the more feedback we need to guive to the coder to tell him “hey you did this wrong!” instead of “you fricked up” because that wouldnt be fun in the picture we can see my terminal as a proof of the working error and parser. someone told me theres no need for a wirtual enviroment, but its better to keep track of stuff even tho we wont be needing any more packages. BUT if we did then its good practice after compiling the compiler to have all the necesary packages already installed."}, {"post_id": 29438, "ts": "2026-07-16T11:55:24Z", "hours": 0.7133, "text": "so, i implemented a error checking if string is open, and updated my tokenizer to recognise a group of words in “” aqs one big string. implemented error witch is called on unclosed strings"}, {"post_id": 29159, "ts": "2026-07-15T21:21:30Z", "hours": 0.6214, "text": "I have “completed” our tokenizer and validator that ensures correct “SUFFER” declaration. if we tokenize the code from our first devlog we get this"}, {"post_id": 29141, "ts": "2026-07-15T20:32:56Z", "hours": 1.1439, "text": "today i started to make basic “compiler|” for level 1 and 2. if you want to see how finelangs going to work there is a attached snippet and you can see for yourself the whole idea in readme of the project"}]...
|
Title: fineLang by @sebastian | Stardance
Devlogs Title: fineLang by @sebastian | Stardance
Devlogs:
today i started to make basic “compiler|” for level 1 and 2. if you want to see how finelangs going to work there is a attached snippet and you can see for yourself the whole idea in readme of the project
I have “completed” our tokenizer and validator that ensures correct “SUFFER” declaration. if we tokenize the code from our first devlog we get this
so, i implemented a error checking if string is open, and updated my tokenizer to recognise a group of words in “” aqs one big string. implemented error witch is called on unclosed strings
What happened belive it or not, i made a working parser that works with all out keyword comands function, return,print, and let. Function- sadly right now couts as a non ending function so it ondly recursivly calls parse fro rest of the file, but thats easy solvable issue., Parser now generates correct AST, witch after building Codegen can be correctly transpiled into C heres a comparison code w/ AST code: SUFFER: two ; FUNCTION main(): let x = 5 print(“hello world”) return 0 AST: [{‘type’: ‘function’, ‘name’: ‘main’, ‘body’: [{‘type’: ‘let’, ‘name’: ‘x’, ‘value’: 5}, {‘type’: ‘print’, ‘value’: ‘hello world’}, {‘type’: ‘return’, ‘value’: 0}]}] as we can see theres a list (body) inside the whole list as a part od the main function. This is enough to generate correct C and run it ! since last time i also implemented errors.py witch is only a library of custom errors dataclas. the point of that is that with mopre complexity in our programming language the more feedback we need to guive to the coder to tell him “hey you did this wrong!” instead of “you fricked up” because that wouldnt be fun in the picture we can see my terminal as a proof of the working error and parser. someone told me theres no need for a wirtual enviroment, but its better to keep track of stuff even tho we wont be needing any more packages. BUT if we did then its good practice after compiling the compiler to have all the necesary packages already installed.
THIS CONCEPT WORKS so i completed the codegen to actualy buuild the C code, and made in main.py to open a new file called output.c Next output.c is compiled with gcc trough subprocess. if compilation succeeds we also call the binary itself, and THTS IT. next steps are to recognise and properly save variables and then be able to print them
We got wokring avriables? so for levels 1 and 2 you dont need to define the type of variables, we right now have words - char* whole - int Incoming 3. ‘pieces’ for float in the codegen i designed a list lookup where if you create a vaiable with let its type, datatype name and value can be looked up for easyprint. parser had MAJOR fallback flaws witch i also patched. There was one teeny beeny mess up where i had if statement that basically said if (string) “IDENTIFIER” is equal to the equal sign. :( BUT WE KNOW FINELANG WORKS. tomorrow there comes maybe piees data type and “if” “else” statements ?
Float as pieces i modified our regex in tokeniser to accept numbers 0-9 with a dot inbetween and number(s) after this gets by tokeniser recognised as pices and codegen now correctly outputs it with F in the C printf command. The biggest problem C standartly takes 6 nuámbers after the dot so from x=5.6 you get 5.600000. That aint a big of a deal. Todo: Implement math opoerations, that can be cahined. Impement cloasable block operationh (function doesnt run until the end of a file) This also allows for automatic tabs in codegen instead of manual and allows implementation of someting like if/else
DieLog Heres what majestic stuff have we done Finelang now accepts CALCULATING OPERATORS and CHAINED calculated operation. lets give ourselves a representation let x = 5 add 7 multiuply 9 let y = x subtract 67 this adequetly transforms the code to the correct math operators, and let our big dawg figure out the operations. ’ lets see for ourselves. fineLang -> ´´´ SUFFER: two ; FUNCTION main(): let x = 5.5 times 2 let y = x divide 6 print(x) print(y) return 0 ´´´ into correct C ´´´ #include <stdio.h> int main() { float x = 5.5 * 2; float y = x / 6; printf(“%f\n”, x); printf(“%f\n”, y); return 0; } ´´´ this was amazingly painfull to do and im glad it works :) tomorows work is automationg codegen tabs / spaces, and being able for new code blocks
HOLDUP DID I COOK (dieLog #2) Finished : automatic “INDENT” and “DEDENT” enables codegen to space out blocks of code. : “IF” statement uses the new automatic system trough recusion : MAIN() function search for stzarting function for a basic C sytax. : Math OPERATORS such as “is” “is_not” “grater_than” less than… you get the point. Since in suffer levels 1 and 2 are used basic symbol types “<,>” etc, i didnt bother much checking the correctnbes of the implementation. CODE EXAMPLE (with the new stuff): - fineLang -> SUFFER: two ; FUNCTION main(): let x = 5 if x > 3: print(x) if x > 4: print(x) let y = 6 if (x add y > 10): print(“hi”) to C -> #include <stdio.h> int main() { int x = 5; if (x > 3) { printf(“%d\n”, x); if (x > 4) { printf(“%d\n”, x); int y = 6; if (x + y > 10) { printf(“hi\n”); } } } } INTO THE ULTIMATE COMPILED STATE -> 5 5 hi To be honest. this was a very complicated test case, and i wouldnt lie if i said that If this fails i wouldnt be surprised THATS IT FOR TODAY!! thanks you for your time and have a nice day :>)...
|
1793537563.5393245
|
1794142363.5393245
|