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
- No individual scheduled session mapping has been assigned yet; treat this as an event livestream deck.
Extracted Slides

OCR text:
PN
td
an
aed ~
a os
-

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

OCR text:
AGENTSAT
WORK
AIEngineer
SUMMIT

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

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

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

OCR text:
Our Principles } ,
" 7 r -
rr Te etl.
—s be 7 ;
7 ae

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

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

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

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)

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

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

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

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

OCR text:
.~ rj
-
‘a
on ka ~
al

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

OCR text:
We are the first and only company to replace Chat
with Agents
“and peaple love that’
aR ETRE GD

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

OCR text:
7 a
| ; ;
a
,
LM Hw S, et a ;
i
ora ere ha
ae
, : | i o ae ;
Che! j
or ’
|
er

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.