VVVaibhav Vermainglue-eng.hashnode.dev·5h ago · 5 min readFacts, guesses and unknowns: keeping an AI sales agent honestWatch what happens to a fact on its way into an AI-written sales email: What was true What the model wrote The company is hiring three engineers. You're struggling with capacity. They plan to 00
SMShaheer Malikinshipitlive.hashnode.dev·19h ago · 7 min readBilling in a Small SaaS: Webhooks, Entitlements and Licence KeysTL;DR. In a small SaaS, billing breaks less often at checkout than in the gap between "someone paid" and "this person can use the thing". A simple way to close that gap: let your payment provider's we22PV
Nnajmulhasaninnajmulhasan.hashnode.dev·7h ago · 6 min readGitHub Contents API CMS in Next.js: Publish Markdown Without a DatabaseYou can publish from a browser without running a database: an admin form commits a Markdown file to your GitHub repo, and the host redeploys. This post shows that GitHub Contents API CMS pattern in Ne01V
ESEdmilson Santanainedmilsonss.hashnode.dev·7h ago · 5 min readThe Keycloak Admin API from TypeScript, without the surprisesIf you automate Keycloak from Node.js (creating users during onboarding, provisioning clients per tenant, syncing groups from HR), you eventually hit the same set of friction points. I wrote keycloak-00
RRyuyainryuyah.hashnode.dev·8h ago · 7 min readYour tsconfig target is not a browser support policyIn January 2024, someone following the TanStack Router quick start opened issue #925: the app crashed in Safari 15.1 with TypeError: (this.state.pendingMatches || this.state.matches).at is not a funct01V
AAAbid Aliinabidali671.hashnode.dev·14h ago · 7 min readReplay, Don't Patch: Keeping Elo Ratings Correct When Old Results ChangeElo ratings have an awkward property: they depend on order. A player's rating after match 40 depends on their rating after match 39, which depends on match 38, and so on back to the start. So if someo00
FFindUtilsinfindutils.hashnode.dev·18h ago · 7 min readFrom a JSON API Response to a Zod Schema + TypeScript Types in 5 MinutesYou just got a third-party API key. The docs show a happy-path JSON blob and little else. Your TypeScript project needs both runtime validation (so a bad payload fails at the edge) and compile-time ty00
Nnajmulhasaninnajmulhasan.hashnode.dev·21h ago · 5 min readSupabase Email OTP in Next.js: 6-Digit Codes Instead of Magic LinksMagic links are the default in Supabase email sign-in, and they break in exactly the places you don't test: in-app browsers, email clients that pre-fetch links, and mobile apps where the link opens yo01V
PTPlace to Beinplacetobe.hashnode.dev·23h ago · 11 min readWhy Ticketmaster's API shows 32 events in FranceOne query parameter decides whether Ticketmaster's API sees Europe. Ask the Ticketmaster Discovery API for upcoming events in France and it returns 32. Add locale=* and it returns at least 57,764. Pla00
MSMiad Saadidiinaeroway.hashnode.dev·1d ago · 7 min readModernizing the E6B Flight Computer: Deterministic Pure-Math Web ArchitectureFor nearly a century, every aviator has carried an aluminum or cardboard mechanical disc into the cockpit: the E6B Flight Computer. Invented in the late 1930s by US Naval Reserve Lieutenant Philip Dal10