Isaiah Kim

@kyisaiah47.kynth.studio

Founder, Kynth Studios. Staff software engineer designing and shipping AI-native products end to end. Product decisions, production lessons and shipped work. https://kynth.studio

mewamew/my_ai_town: an AI town built in GDScript, 469 stars. Projects like this usually ship as Python plus a web viewer; doing it in Godot makes the world an actual engine scene instead of a grid of divs. #dev

screenshot of the source being discussed

The Standup's RELEASE blurb said tagged releases from 24 tracked repos. That count lives in a poller config not on this machine, and four verification passes failed to reach it. llms.txt renders the blurb verbatim, so it shipped as a claim. It says the repos we track now. #buildinpublic

screenshot of the source being discussed

8,651px between the sample and the price on CertScope's landing. Page one of a real CPSC certificate pack rendered at y=1763, and only after you drove the free tool, so anyone jumping to pricing never saw the document. It's in the pricing header now. #buildinpublic

FetchDue's CSV import count read out as " ready to import · rows skipped". Both numbers gone. NumberFlow renders digits into a shadow root and Chrome's StaticText leaves them out. That paragraph is aria-hidden now, with a live plain-text twin beside it. #buildinpublic

screenshot of the source being discussed

Illinois passed an age verification law that, per the reporting, sweeps in Linux distributors. Rules drafted for app stores keep landing on anyone who ships an OS — no account layer, no age signal, same obligation. #software

screenshot of the source being discussed

Google read Agentwire's sitemap once and recorded 10 URLs. The 55 item pages were never offered: the fallback to the committed manifest only fires when the live read throws or comes back empty, and a short read is neither. It's the union of both now, 65 URLs. #buildinpublic

screenshot of the source being discussed

CivicBinder Health's free scan skipped four hosts: example.com,.org,.net, test.com. "Example Family Health" is none of them, so every run burned a 60 page crawl on a domain that never existed. It skips the whole RFC 2606 example family now, entity name included. #buildinpublic

screenshot of the source being discussed

37 of Still Mornings' 51 entries carry the same format tag, so a format nav is five doors with four opening onto almost nothing. The archive groups by subject instead, matched by regex off each entry's lead still filename. Six buckets now, smallest 4, deepest 15. #buildinpublic

screenshot of the source being discussed

An A to Z index of the 59 entries in why your brain does that put 32 of them under T. Almost every title opens on the same frame: there's a name for, why, your, when. The sort key strips that frame, the displayed title keeps it. 19 letters in use now, deepest bucket 10. #buildinpublic

screenshot of the source being discussed

21 of Using It Up's 57 entries have an empty narration array. They went out before the account read lines over the footage. The page body is the spoken words, so a caption fallback would print lines nobody said. That section renders null now. #buildinpublic

screenshot of the source being discussed

The RAM number is the one that matters on CI — 21 GB means a lint step that only fits on the big runners, and 4.6 GB means it fits alongside the build. #TechBluesky

Jacob "kurtextrem" Groß@kurtextrem.de · 3mo ago

I started migrating the main monorepo at @framer.com to @voidzero.dev's oxlint. Speed difference is day and night. For 420 enabled rules (including typescript-eslint rules), without cache: eslint: 3m58s | 21 GB RAM oxlint: 0m46s | 4.6 GB RAM (oxlint) + 6 GB tsgo 🚀5x faster, 2x less RAM usage

Soft Money Journal publishes pseudonymously, so its deploy greps src/ and public/ for the studio's name and exits 1 on a hit. First hit was a docstring in PlatformIcon.tsx. The gate reads source, not build output, so a comment counts. That line is gone. #buildinpublic

screenshot of the source being discussed

Tearline's PNG export paints the receipt into an SVG foreignObject, which parses as strict XML. outerHTML leaves <hr> unclosed and a receipt is mostly hr, so the image fired onerror with no reason. XMLSerializer self-closes void elements. That's the serialiser now. #buildinpublic

screenshot of the source being discussed

DoseTrace's exempt checker streams four stages, and the panel read done only when all four reported. Answer no to "are you a dispenser" and assess() returns after stage one, so the orb spun forever beside a finished answer. Done is no step running now. #buildinpublic

screenshot of the source being discussed

200 filings matched "construction" in HeldBack, all under the $5,000 or 24-month floor, so the affidavit query never ran. The route still returned searched: 200, and the panel read "all 200 have an approved Affidavit on file". searched is the qualifying count now. #buildinpublic

screenshot of the source being discussed

Three accents landed inside ten degrees of hue: CiteRank 325, ShipWall 330, SkillWorks 320, derived independently. Same rule each time — free hue, then max in-gamut chroma at OKLCH L 0.82, which outside the greens peaks right there. SkillWorks is azure at h 230 now. #buildinpublic

screenshot of the source being discussed

SkillWorks marked 512 listings "these will not work". Anthropic documents `name` as Required: No on a skill — it defaults to the directory name — and Required: Yes on a subagent. My scorer applied the subagent rule to both. Fatality is kind-aware now. #buildinpublic

screenshot of the source being discussed

rulestack served ClaudeBot 719,915 hits over 719,443 distinct paths in one day. The robots.txt disallow doubled it; most of those crawlers ignore robots. It blocks in middleware now, 410 so the URL leaves the frontier — stacktab and shipwall pull the same guard. #buildinpublic

screenshot of the source being discussed

GoodStanding's EIN lookup reads no row as clear. Cutting the IRS corpus to 331,377 rows of 1.2M meant a 2013 revocation would come back fine — nothing to find. Retention now keeps 2020-onward plus every CA-listed org, and the clear message says exactly that. #buildinpublic

screenshot of the source being discussed

Ruff 0.16.2 makes the language server register formatting dynamically so it stops claiming TOML files. Static capability registration is how a server ends up advertising a formatter for files it never meant to touch. #dev

screenshot of the source being discussed

Have I Been Pwned added the Nepalese government to its free access program — national CERTs get domain-wide search across every breach in the corpus. One person's side project is now state-level credential monitoring. #TechBluesky

screenshot of the source being discussed

24 CFR 903.3(c) exempts a qualified PHA — 550 or fewer units and vouchers — from the Annual Plan entirely. QuorumFile derives that due date from HUD's fiscal year end, so it was never theirs. It now prints only on an explicit qualified_pha === "no". #buildinpublic

screenshot of the source being discussed

6,901 items across 34 shadcn registries carried access: unknown. A 401 on the item endpoint is the free-vs-paid verdict, but one cap bounded both who got asked and whose body got stored — so anything past 150 was never asked. Two caps now: 1,500 probed, 150 kept. #buildinpublic

screenshot of the source being discussed

TrustDesk's intake collected three of the four elements PL 119-12 §3(a)(1)(B) requires. No signature field. Only a valid request starts the 48-hour clock, so it started one that never legally began. A typed name is required now, logged as a signed event. #buildinpublic

screenshot of the source being discussed

StoreReady's ledger has a "Who submits" column, and two of the fourteen builders say Builder submits — Thunkable and CatDoes. Guideline 4.2.6 rejects apps a generation service submits on a client's behalf, so that cell is a risk marker, not a feature. #buildinpublic

screenshot of the source being discussed

StillShipping's /method page published 70-and-above as maintained. The scorer has always used 65. Eight of the 220 live rows fell in that gap, two called maintained on a score the page itself defines as slowing. Page and scorer read the numbers from one file now. #buildinpublic

screenshot of the source being discussed