Haidar Rais — Signal Archive
Haidar Rais — Engineer & Founder
Haidar Rais is a full-stack engineer and founder in Malang, Indonesia, building AI products at Abdillah Works and web platforms at Redcomm Indonesia.
Selected projects
- Full-stack Solutions at Redcomm Indonesia — High-performance web applications and SEO-friendly architectures.
- Score Campus Platform — Leading multi-platform development across Next.js and React Native.
- FrontendBoy — A GameBoy like Portfolio UI
- The Next Level Camp — Connecting students across the world through learning
Recent writing
- Subgrid: Nested Grids That Share the Parent's Tracks — A nested grid normally invents its own tracks. Subgrid makes it reuse the parent's instead, which fixes card rows, but also removes the implicit grid and lets padding leak into parent sizing.
- Base64 Without the String Detour: Native Encoding on Uint8Array — ES2025 puts base64 and hex codecs on Uint8Array itself. What the four methods do, why lastChunkHandling decides whether your decoder validates anything, and what I measured.
- Set Algebra Is Now a Language Feature — JavaScript Set finally ships union, intersection, difference and three predicate methods. The set-like protocol, the ordering rules, and the reference-equality trap.
- One Tab to Rule Them All: Leader Election with the Web Locks API — The Web Locks API gives you cross-tab leader election with no heartbeat, no TTL, and no dependencies. A practical tour of modes, ifAvailable, signal, and why steal is a loaded weapon.
- Time Zones Are a Type Problem: What Temporal Actually Fixes — Temporal splits JavaScript's one vague Date into precise types. Measured DST behaviour in Node 26, and where the adoption claims in this year's blog posts get the browser versions wrong.
- URLPattern: Matching URLs Without a Router Library — The URL Pattern API replaces per-framework route matchers with one standardized grammar — and Node's native implementation diverges from the spec in one narrow case.
- The RegExp v Flag: Intersection, Subtraction and Properties of Strings — The v flag rewrites JavaScript's character-class grammar: intersection with &&, subtraction with --, nested classes and properties of strings. What shipped, and what breaks on upgrade.
- Iterator Helpers: Pipelines That Never Materialize an Array — Iterator helpers map, filter and take over a Map, a generator or an infinite sequence without ever spreading it into an array — plus the one footgun that shares its source.
- Cascade Layers as Architecture: Priority Without a Specificity War — Cascade layers make the layer itself a design decision, so specificity becomes a local concern inside a layer instead of a global arms race across your whole stylesheet.
- Entry Animations Without a Mount Class: @starting-style and Discrete Transitions — @starting-style gives a first-render element a state to transition from, and allow-discrete lets display flip mid-transition. Together they replace the mount-class dance.
- @property in Practice: Typed, Animatable CSS Variables — @property upgrades a CSS custom property from an untyped token stream to a typed, validatable, interpolable value — and the rules are stricter than they look.
- Text Segmentation Is a Locale Problem: Intl.Segmenter in Practice — Intl.Segmenter replaces the whitespace split with locale-aware segmentation: graphemes, words and sentences as the browser defines them.