You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
Umut Sirin
usirin
senior engineer, design systems & accessibility @discord | loves to hack with @cansirin
Custom fate data sources — how to write a SourceExecutor for @nkzw/fate (DO-backed example)
Custom fate data sources
How to write a data source that isn't Drizzle or Prisma — for fate v1 alpha
(@nkzw/fate as of 2026-05-15, reading packages/fate/src/server/).
Phoenix needs this for *Detail types backed by Durable Objects
(SozlukTerm, PanoPost, Pasaport). Drizzle reads the D1 *Summary
projections; the DOs hold authoritative state and computed reads like
myVote. Same pattern works for HTTP APIs, KV, R2, or anything else that
fits an async byId / byIds / connection shape.
Research: Programmatic VoiceOver Control on iOS Simulator
Programmatic VoiceOver Control on iOS Simulator
Executive Summary
VoiceOver can be automated on the iOS Simulator, but no single tool or API provides an end-to-end solution. This research investigated five dimensions of the problem: enabling/disabling VoiceOver, sending navigation commands, reading focus state, existing frameworks, and React Native's accessibility APIs. The core finding is that a viable automation stack exists by combining xcrun simctl (VoiceOver lifecycle), AppleScript keystroke injection (navigation), and the macOS AXUIElement API (tree inspection), but reading VoiceOver cursor position remains the hardest unsolved problem. No existing framework (Apple, Google, Deque, or open-source) automates VoiceOver itself. Every tool in the ecosystem validates accessibility metadata, not screen reader behavior. This gap is real and unaddressed.
Recommended architecture: A three-layer system combining (1) defaults write + launchctl for VoiceOver lifecycle control, (2) osascript keyst
Research: Promotion Evidence Tracking with AI Harnesses
Promotion Evidence Tracking with AI Harnesses
Executive Summary
This research investigates how engineers can use AI coding agents (Claude Code, Cursor, and similar tools) to systematically track promotion evidence, with specific focus on the Senior-to-Staff (P3-to-P4) transition and neurodivergent-friendly design.
Four findings cut across all subtasks:
The claim-evidence-impact chain is universal. Every promotion framework, from Julia Evans' brag doc to Dropbox's six-dimension rubric, converges on the same structure: state a claim, back it with concrete evidence, quantify impact. The formats differ; the underlying pattern does not.
Interaction Models and Design Systems in Agentic Programming
title
Interaction Models and Design Systems in Agentic Programming
date
2026-04-08
type
research
status
complete
Executive Summary
Agentic programming tools encode fundamentally different assumptions about who the human is and what they need. A terminal chat treats the developer as a collaborator reviewing diffs. A background agent treats the developer as a manager reviewing pull requests. A Figma MCP integration treats the designer as a spatial thinker who should never leave the canvas. The most important finding across this research is that agentic tooling works best when it meets each role in its native medium rather than collapsing everyone into a single interface. This is not a convenience preference. Cognitive science research demonstrates that spatial reasoning, direct manipulation, and visual judgment are load-bearing cognitive processes for designers [^43][^44], just as sequential textual reasoning is for developers. Forcing role collapse disables the cognitive machinery that makes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"description": "Replace a background/surface semantic color token with a text color token where the property controls text rendering, causing near-zero contrast in light mode",