Slide 1

Slide 1 text

BROWSERSTACK MEETUP · CAPE TOWN AI-NATIVE DEVELOPMENT The loop. A ticket comes in. A verified change goes out. Human in control · not full automation Abed Matini BBD, Century City · 3 Sep 2026

Slide 2

Slide 2 text

THE IDEA Work should move in a circle, not a pile. 01 02 03 Arrive Address Report Task lands in Linear. We read it through MCP. Reproduce. Fix. Prove it — locally, then on devices. PR goes up. Linear gets the story of what happened. AI-native loop 2 / 13

Slide 3

Slide 3 text

THE CIRCLE Six steps. Same order every time. 1 2 3 4 5 6 Intake Reproduce Fix Prove Devices Close Linear · MCP Does it exist? Any model, you drive Lint · tests · E2E BrowserStack PR · report Local proof comes before BrowserStack. Then a human checks the ticket is actually done. AI-native loop 3 / 13

Slide 4

Slide 4 text

01 · INTAKE Read the ticket. Don’t code yet. MCP to Linear Pull the issue, description, comments, attachments. Is this a code task? Questions, design, and product asks skip the loop. Enough to start? Missing repro, env, or acceptance → send it back. AI-native loop 4 / 13

Slide 5

Slide 5 text

02 · REPRODUCE Does the problem exist? If we cannot see it, we do not invent a fix. Bug Feature / gap Hit the path. Same browser, same data, same flag. Screenshot or trace. Confirm the current behaviour and write the acceptance in one line. Human gate A person confirms: this is real, this is in scope, this is worth a fix. AI-native loop 5 / 13

Slide 6

Slide 6 text

03 · FIX Any model. You still drive. Model-agnostic Ticket-sized change Not auto-merge Claude, Cursor, Grok — same loop. Only what the issue asked. Nothing heroic. A person ships. Always. AI-native loop 6 / 13

Slide 7

Slide 7 text

04 · PROVE LOCALLY Green here, or we do not go to devices. Lint FE + BE Playwright Style and obvious mistakes. Unit and integration suites. E2E on the happy path. Flaky E2E is a loop-killer. Treat flakes as bugs, not as retry-until-green. AI-native loop 7 / 13

Slide 8

Slide 8 text

05 · DEVICES Real browsers. Real phones. Evidence. SDK + Local tunnel Same Playwright suite. Tunnel to BrowserStack — not MCP. A small matrix A few viewports and devices. Not every phone on earth. Keep the recording Video + result go back on the Linear issue. AI-native loop 8 / 13

Slide 9

Slide 9 text

06 · CLOSE THE LOOP Look once. PR. Tell Linear. 1 2 3 Human look Raise the PR Report back Does this actually address the ticket? Not just green. Diff, test evidence, BrowserStack links. Comment + status on Linear. PR linked. What changed. AI-native loop 9 / 13

Slide 10

Slide 10 text

HUMAN IN CONTROL Three gates. Everything else can move. Gate 1 Gate 2 Gate 3 Pick it up Reproduce Ship Is this a code task we should even start? Did we actually see the problem? Does the PR match the ticket? AI-native loop 10 / 13

Slide 11

Slide 11 text

WATCH-OUTS The loop is right. These will break it. Not every Linear ticket is a code task. Green tests are not the same as the ticket being done. Flaky Playwright will lie to the loop. BrowserStack after local green — never instead of it. Linear MCP writes can miss. Check the comment actually landed. Never auto-merge. Not in this version. AI-native loop 11 / 13

Slide 12

Slide 12 text

LIVE Demo. One ticket. All the way around.

Slide 13

Slide 13 text

THANK YOU Same circle. Tighter gates. More automation later. Not yet. Abed Matini linkedin.com/in/matini BrowserStack Meetup Cape Town · BBD Century City