Engineering6 min readCategorizing Merge Requests with an LLMSee how Fullscript uses an LLM, a priority-ordered decision tree, and a daily CronJob to categorize every merge request.Read investigation
Technology7 min readFinding The Line: What to Ask AI, What to Ask CodeSee how we paired an LLM with deterministic code to auto-crop Supplement Facts labels, and how we decide what to ask AI versus code.Read investigation
Engineering27 min readTeaching Ruby to Rank: Building a Learning to Rank Ruby GemSee how Fullscript fixed search with learning to rank in Ruby: NDCG, judgment lists from clicks, XGBoost reranking, and our upcoming ltr gem.Read investigation
Engineering4 min readMCP-inception: Why we built EKG, the MCP of MCPsSee how Fullscript built EKG, a single MCP gateway that connects any AI client to our services, with guardrails in one place.Read investigation
Security12 min readL1 on Autopilot: The Analyst Who Never SleepsSee how Fullscript's SOC built automated L1 triage with 13 AI agents that assess every security alert in under five minutes.Read investigation
Technology10 min readA Sale Is Just a Row: How Fullscript Ships Promotions Without DeploysSee how Fullscript turned promotions into database records with date windows, cutting sales from multi-deploy projects to one reviewable data change.Read investigation
Engineering14 min readBuilding Fullscript Assist, Part 3: One Writer Per SessionHow we guarantee one writer per conversation as Fullscript Assist scales across nodes: a durable lease for ownership, an epoch fence for writes.Read investigation
Security5 min readAI Security: Humans Before The Loop How Fullscript's Project Glycerin triages and fixes security vulnerabilities in minutes, with engineers owning the standards the AI applies.Read investigation
Engineering14 min readBenchmarking the Agents That Write Our CodeSee how we built a benchmark from our own git history to compare AI coding models, skill packs, and agent harnesses on our real codebase.Read investigation
Technology8 min readSmart Rollouts: Adding Control Groups and Exposure Tracking to FlipperSee how Fullscript added 50/50 experiments to Flipper feature flags using a second salted hash and exposure tracking that waits for first use.Read investigation
Engineering11 min readBuilding Fullscript Assist, Part 2: Keeping the Context SmallSee how we treat the context window as a budget in Fullscript Assist: on-demand skills, isolated sub-agents, and auditable compaction.Read investigation
Software7 min readScaling Shopify's maintenance_tasks (Part 3): Observability and Governance for the GemSee how Fullscript added durable logs, threaded Slack alerts, metrics, and self-cleaning governance around Shopify's maintenance_tasks gem.Read investigation