Slides: How Windsurf writes 90% of your code with an Agentic IDE - Kevin Hou, Windsurf

Source Video

How Windsurf writes 90% of your code with an Agentic IDE - Kevin Hou, Windsurf

Relationship To World's Fair 2026

These slides are extracted from a public AI Engineer YouTube video connected to World's Fair 2026. Speaker-matched clips are supporting context unless later confirmed as exact session recordings; official livestream recordings are day-level/event-level source material.

Related Scheduled Sessions

Extracted Slides

slide-001.jpg

OCR text:

PN

td

an

aed ~

a os

-

slide-002.jpg

OCR text:

We always believed agents were the future of software

development.

Load ba CRG OTS) Crea Ce Esie Pacer ce Do

2022 2023 2024 2025, 2026, 2027....end of tim

; Yaa eas le

; rs ; ar AI.ENGINEER

slide-003.jpg

OCR text:

AGENTSAT

WORK

AIEngineer

SUMMIT

slide-004.jpg

OCR text:

Write a web crawler that analyzes the content ofa

domain andgeneratesareport ofuseful statistics.1

want to know the most common words,page size

distribution,and whateverelse you thinkisrelevant.

Please analyzehttps:lfdocs.codeium.com/ and write

theresult to animageforme toview!Make sure the

crawierreportsprogress inareadable format.

urfDev

AIE

Illhelpyou create a web crawler to analyze

docs.codeium.com.Let'sbreak this down into steps:

1.First,let's create a Python script with the necessary

dependenciesWe'll needpackageslike requests

beautifulsoup4,matplotlib,and others.

Generai

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-005.jpg

OCR text:

H

Expi

x0

web_crewler.py

nd_de

CHERALC

LASC

Searched Ini

web_crz

ortrequests

pxu/1/ss/.-

fronbs4iport BeautifulSoup

-/Library/Frameworks/Python.fra

fronurllsh.parse iporturtjoin,urparse

-/Library/Framevorks/Python.frasev

Tron collectionsapnrt Counter

port-re

-'/usr/tocaUshare/nltk_data'

epxlu/aeys/sn/,-

ortatplottib.pyplot s plt

frnltk.corpus iaoort stoprds

nltk.tokenize inport word_tokenize

p///.-

mortsttk

AIE

porttine

frostyping

portjson

Traceback(nost recent call tast):

File"/Users/natt/command_demo/web_cra

rqLred R data

main()

nltk.donload('pumkt')

F1le"/Users/matt/comnand_demo/web_cra

cravler.generate_report()

altk.donloadl'pnkt_tab')

F1le"/Users/natt/comand_demo/eb_cra

words,counts=zip(*self.word_count

WebCravlers

Se!.

_init_(self,starturl str)1

ValueError:not enough values to unpack

self.start_url-start_url

self.donainurlparsestart_

lt.vicited arCtl tfl

Problems

Output

Debug Console

Terminal

Porta

Isee we need to dowload addiional NLTK data. Letme

nettgPatth

ok-Air-2.1oca1

fix that and modity the code tohandle emptyresuls

"/usr/locaU/share/nltk_data'

moregracehuly:

"/usr/Li/nttk_data

"/usr/local/Lb/sltk_data

Eded_crer-py+188139

Traceback(nost recent call last):

F1le/sers/att/cand_d/_crler.py,Line 146,1odue

Now let's run the crawler again:

Fi1e/sers/tt/cnd/_crer.p.Line143,inmn

Basn()

F1le/rs/mtt/cnd_d/b_crler.py,Lin118,g

cravler.generate_report()

wrds,contszipefncns.stcom

nerate_re

lueError:not enough values to unpack(expected 2,got )

M1-2.1oca

L

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-006.jpg

OCR text:

Writewith Cascade

Kickoff a new project or make changes across

your entire codebase

Everythingwedoisinserviceof onething.

Keeping you in flow and

unlocking limitless potential.

ShippedonNov13,2024

500k+ActiveUsers

slide-007.jpg

OCR text:

Our Principles } ,

" 7 r -

rr Te etl.

—s be 7 ;

7 ae

slide-008.jpg

OCR text:

’ ~

a Principle

s. P

] Related features

7 The agent continuously researches in the + “Continue my work”

background. predicting your next steps + Terminal Turbo mode

and integrating seamlessly with your we di .

workflow—like it’s reading your mind ~ AGENT: citfiewien UX

; re mt AI.ENGINEER

slide-009.jpg

OCR text:

LoginForm.tsx

layout.tsx

nts)LoginFormsx)①LoinForm)

ExD

Add Docstring

'use client';

(useState)

function LoginForm()

const [fornData,setFormData]

useStatelf

email:*,

password:..

B

confirnPassword:

Writewith Cascade

useState(*`):

Kick offanew prject ormake

const [error,setError]

const handleFullNaneChang

React.ChangeEvent<HTMLInputElenent>))

const (name,value

o.target:

Past workflows

setFormData(prev=>((

prev,

Addasig

aneA 1[weu]

9CORSI

React.FormEvent)

.preventDefault();

setError(*.):

formData.password

fornData.confirmPassword)

setError('Passwords do not match'):

3a

const response

fetch('/api/auth/register',

method:'POST',

headers:(

Content-Type':'application/json'

body:JsoN.stringify(<

email:fornData.email,

password: formData.password,

NSERT

slide-010.jpg

OCR text:

ifornhux

lyoutx

yoacs

LognfaxLoinFom

O

"use client':

functionin the

(useState}

'rot':

pufidndudattfosteaccringLethlyoucle

runction LoginFormt)(

const (fornCata,setFornData)

fulNe!.

useStatel

Ftletme check the curent stae of thefle to undentand the ce

email:*.,

Anlyed Looc1-5D

password:...

AIE

confirPassword:.

comlele heafeh functonemntatior Letme mae these

fleld and

const (error,setfrrer)

usestate(""):

changee:

const handleFullNameChenge

const(name,value)e.target;

React.Char

Eed LmxD+1-2110

const(value)

e.taroet:

setForata(prev a((

Tve made She folo

[nane]:vaiue

prev,

1.Added efeid to he fostae

fullName:value

2.miemented henifelweheg function toupd

sttributes

const handleSubnlt

Thchngeswcletndefohdhnlelinenuproy

e.preventDefault():

setEror(*):

duringregistraon.

fornData.confirePassword)

Letme run the develog

entsener toma ure everythings working

nend:

stresponse

reteht'/epi/auth/register'

neaders:

3ody1JsoN.stringify(

--NSERT--

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-011.jpg

OCR text:

ae User runs commands in Terminal

“Ss. F we

a on orc . ae |

Cascade is up-to-date with recent termina! commands

AGENT ENGINEERING

_ ee Tet)

slide-012.jpg

OCR text:

Deaseeyeeryon gepei Ler fet cecs

Create a new vitual enwrorent

2Acivaea

AIE

3.sta e eoed dpndencle

.Rn iege

Ran.terminat command

comvrand

sourcevem/bin/octivateMpipinstsll-reg

ents.tat

Reject

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-013.jpg

OCR text:

3 f NN EN EE EE

( ; created and activat

launched. You can t

def parse aras() ;

esti When you're done,

For future sessions,

aden) ia) cascade , '

weith:

(venyv) nickjiang:~ sre exarple color switch (main) $ python main. py

File , lane reas)

Wiehe Aone

ane , bine 2 ED before running the «

mes , line ree)

(venv) nickjiang:~ srcvexample ‘color switch (main) $ echo Success!

Success!

(venv) nickjiang:. src exarple color “Kh Curb tees

slide-014.jpg

OCR text:

Principle

AIE

Meta-Learning

Thebestagentsdon't just assist-theylearn.

Relatedfeatures

Windsurfadaptstoyourworkflows.

rememberspastinteractions.andevolves

.Memories

witheveryuse.Fromrecallingpreferred

.CustomtoolsviaMCPservers

toolstounderstandingproject-specific

·Readingyourfavdocs

patterns,itgetssmarterthemoreyouuseit.

Whitelist/blacklistcommands

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-015.jpg

OCR text:

Principle

Meta-Learning

The bestagenis dontjust assst-they lean

Related festures

Windsurfadaptstoyourworkows

.Menores

IGENTSATWORK

rememberspastinteractionsandevoes

witheveryuse.Fromrecalling prefed

Cuelomxols vaMCPsero

tools to understandng project-specilc

Redngyourfaedocs

pattes.it getssartrthe more youusei

Whiis/boodstconmnds

slide-016.jpg

OCR text:

.~ rj

-

‘a

on ka ~

al

slide-017.jpg

OCR text:

x0+

ntsf ap

Flaskroutesand APi endpointsin your application

docs

trd_perty

frontend

AIE

Dbazelvenion

gligpore

env

BULD

WindsurfDev

MODULE.bazel

MODULE.bazellock

CodewithCascade

READMEmd

Editcodeinine

requirements.txt

run.py

DWORKSPACE

AGENTENGINEERING

HTTPS://AI.ENGINEER

slide-018.jpg

OCR text:

We are the first and only company to replace Chat

with Agents

“and peaple love that’

aR ETRE GD

slide-019.jpg

OCR text:

e 8s » demo-site Ue B&O Oy

OQ Explorer i Cascade | Wie mode x | Www O + On- «

Po > te nant @ 100k un the NextJS documentation for me to generate a dynamic OG image st

° > Ce node_modutes route.ten

{B > Ce pute

5 ~ Ca sre app s 11 help you find information about generating dynamic OG images in Next js. Let me

® ~ & images . search for relevant documentation.

G @ route. tax uv

“8 <> favicon.ico Searched web. Next.js dynamic OG image generation route.tex documentation y

4 +) globets.cxs + Metadata thes: opengragh-image and twitter-imege - Next)s

t a _ Oynemicaly Generating Open Graph images in Next js 14 2

e a = Dynamically Generated OG images in NextJS - Jemes Shopland &

° 2 © Optimizing: Metadate - Next &

satignore = How to generate dynamic OG mage using new NextJs with App directory

O windsurfrutes

© estin.contig gs Windsurf Dev Let me check the official Next.js documentation first.

1S Mext-env.dts

N nent contigs U Code nth Cascade x + Crested outing & nextys org View Page

N next.config.ts Echt code nine uo:

Package-tock json Let me check the documentation about generating images using code, which is most

package json relevant to your request.

@ postcss.config.njs

README. md © Anslyzed content & Croerate images using code ( 33, ts, tsa)

Uiwind.contig.ts

Te teconfig json Let me check andiher chunk to see if there's any additional important information.

© Analyzed coment & 3 cmmks

Based on the Next js documentation, | can help you implement a dynamic OG imege

generation at route.tax. Here's what: = "= “now:

2 Rumng

fees o ee oq soe toe a

Outing

Temetine (mentor EX AdE images ~ Claude J 5 Sonnet te Om

Pea moins me UMFK Kel peer £4 ea V Bea: | UR a: f

slide-020.jpg

OCR text:

7 a

| ; ;

a

,

LM Hw S, et a ;

i

ora ere ha

ae

, : | i o ae ;

Che! j

or ’

|

er

slide-021.jpg

OCR text:

; = The best engineers build with the best.

Try Windsurf for free today.

windsurfai

Nae aati ic

a 7 re: AI.ENGINEER

: ra

Slide-Derived Subjects To Review

Subject extraction uses video title, related session titles/descriptions, transcript context, and OCR text when available. OCR is best-effort and should be reviewed against the embedded slide images.