The manual coding era is over
You are not being replaced - you are being upgraded
This lecture will change how you build software forever
“I don’t write code anymore. I describe what I want, and AI writes it better than I ever could.”
- Emre Varol, 8+ years at Google, Palantir, Liftoff
It does not mean I stopped thinking
It does not mean I blindly accept output
It does not mean engineering skills don’t matter
It means I describe behavior instead of typing syntax
It means I review outcomes instead of reviewing every line
It means what used to take a dev team 3 weeks, AI now does in 15 minutes
Think about implementation
Write code line by line
Debug syntax errors
Search Stack Overflow
Copy-paste, adapt, test
Hours per feature
Think about behavior
Describe what you want
AI writes the implementation
Test the behavior
Iterate with feedback
Minutes per feature
In December 2025, AI models placed 2nd in the world’s top competitive programming competitions.
Better than 99.99% of human programmers
Solves complex algorithmic problems in seconds
Understands every language, framework, and pattern
Has perfect memory - never forgets a single detail
Available 24/7, infinitely patient, never gets tired
Coined by Andrej Karpathy (OpenAI co-founder, ex-Tesla AI lead) in February 2025. Named Collins Dictionary Word of the Year 2025.
In 2026, it has evolved into Agentic Engineering:
Write natural-language specs
AI generates code under structured human oversight
Multi-model orchestration with persistent project context
The developer specifies, reviews, and steers - AI implements
Agentic CLI that reads your codebase, edits files, runs commands, and builds features autonomously
Terminal-based coding agent. Reads your repo, writes code, runs tests. Open-source.
Google’s agentic coding assistant. Multimodal, large context, deep integration with Google ecosystem.
Suggests the next line
Works within one file
No understanding of your project
You still write 95% of the code
Reads your entire codebase
Understands architecture
Creates and edits multiple files
Runs commands, tests, deploys
You write 0% of the code
Let’s do the math with real numbers:
Assign task to dev team
Team works 2–3 weeks
Review, give feedback
Team addresses feedback: 2–4 weeks
Next review round
Total: 4–7 weeks per feature
Describe feature to AI
AI builds it: 5 minutes
Test, give feedback
AI fixes: 30 seconds
Test again, ship
Total: 15 minutes per feature
3,300+ lines of hand-crafted HTML/CSS/JS
10 language translations, lecture system, blog system
Built and deployed in one afternoon
Hosted on Vercel, custom domain, SSL - all set up by AI
Without AI: 2–3 weeks. With AI: 4 hours.
LLMs have perfect memory and infinite knowledge.
They were trained on virtually all public code ever written - and they memorized it
Context windows are now 1M+ tokens - they remember your entire conversation
They read your entire project before writing a single line
They understand your naming conventions, architecture, and style
They know every framework, library, and best practice ever published
This is not a search engine. This is a world-class engineer with perfect memory who has read every codebase on GitHub and never forgets a single detail.
Typist
Syntax expert
Stack Overflow navigator
Bug hunter
Product architect
Behavior specifier
Quality assurer
Decision maker
“The best engineers of 2026 are not the fastest typists. They are the clearest thinkers.”
Let’s get your tools installed. Everything runs in the terminal. No IDE required.
Node.js 18+ - required for Claude Code and most modern tools
Git - version control is non-negotiable
A terminal - macOS Terminal, iTerm2, Windows Terminal, or any Linux terminal
A text editor - optional, for when you want to read code (VS Code, Vim, etc.)
# Check your versions $ node --version # v20.19.0 or higher $ git --version # any recent version $ python3 --version # 3.10+ (optional, for Codex)
# Install globally $ npm install -g @anthropic-ai/claude-code # Navigate to your project $ cd my-project # Start Claude Code $ claude # That's it. Claude reads your entire codebase and is ready.
Reads your entire project automatically
Can edit files, run commands, create new files
Remembers context across the conversation
Works with any language, any framework
# Install globally $ npm install -g @openai/codex # Set your API key $ export OPENAI_API_KEY="your-key-here" # Start Codex in your project $ codex # Open-source, runs locally, sandboxed execution
Open-source (MIT license)
Sandboxed - runs in a safe environment
Multiple modes: suggest, auto-edit, full-auto
# Install globally $ npm install -g @google/gemini-cli # Authenticate with Google $ gemini auth login # Start Gemini in your project $ gemini # Multimodal: can analyze images, screenshots, and diagrams too
$ mkdir my-portfolio $ cd my-portfolio $ git init $ claude # Now type (paste your CV text first, then): > Here is my CV: [paste your CV]. Build me a beautiful personal portfolio website like emrevarol.com. Include a hero section with my name and title, an about section, my experience timeline, skills, education, and a contact section. Use a dark theme with modern animations. Make it responsive. # Watch it create your personal website in under a minute.
index.html in your browser. You just went from a Word document to a live portfolio - without writing a single line of code.
You do not need VS Code, IntelliJ, or any editor.
Claude Code reads, writes, edits, and creates files
Claude Code runs your dev server, tests, and builds
Claude Code commits, pushes, and creates PRs
Claude Code deploys to Vercel, Netlify, or any platform
Of course, you can use an editor alongside it. But you don’t have to.
Create a CLAUDE.md file in your project root. This is your AI’s persistent memory.
# CLAUDE.md ## Project: Bean There Coffee Shop - Tech stack: Next.js 16, Prisma, PostgreSQL - Style: Tailwind CSS, warm earth tones - Language: TypeScript - Database: Neon PostgreSQL (connection string in .env) ## Rules - Always use server components by default - Use Turkish lira (₺) for prices - Mobile-first responsive design - Never hardcode secrets
Building a product is not just code. You need infrastructure. Here’s what we use - all set up from the terminal:
Serverless Redis. Caching for 10K+ concurrent users. Pay-per-request, free tier included.
Host your code. Every push triggers a Vercel deploy. You see changes live in seconds.
Payment infrastructure. Active in 2 projects (pusulam.ai, english.cash). Checkout, subscriptions, webhooks.
Does all of the above for you. Sets up, configures, deploys - from the terminal.
Forget everything you know about writing code. You are now a behavior architect.
“I need a useState hook here”
“I need to map over this array”
“I should create a helper function”
“Let me import this library”
“When the user clicks Buy, deduct from their balance”
“Show a toast notification on success”
“If balance is insufficient, show an error”
“Log the transaction for auditing”
This is your new workflow. Memorize it.
Begin with the simplest possible version.
> Build a complete English
learning platform with AI tutor,
assessments, writing/speaking/
listening modules, vocabulary,
grammar, leaderboards, friends,
18 languages, and auth.
> Create a Next.js app with a
landing page for an English
learning platform. Show 4
learning modules (Writing,
Speaking, Listening, Vocabulary)
as cards. Hardcoded for now.
Once the base works, add exactly one feature.
# Iteration 2: Add a database > Replace the hardcoded data with a PostgreSQL database using Prisma. Create Lesson, Module, and Progress models. Seed sample lessons for each module. # Iteration 3: Add user auth > Add NextAuth with email/password. Users should be able to sign up and log in. Show their name in the navbar when logged in. # Iteration 4: Add AI tutor > Add a /tutor page with a conversation interface. Users type a message, Claude API responds with English corrections and tips. Track conversation history.
After each feature, test the behavior, not the code.
Open the app in your browser
Click through the feature like a user would
Try edge cases: empty inputs, wrong data, double clicks
Check mobile view
You do NOT need to:
Read every line of generated code
Understand every helper function
Review the CSS class names
Something not right? Tell the AI what to change - in behavior terms.
# Not: "change the onClick handler to use a different state variable" # Instead: > When I finish a lesson, the progress bar doesn't update until I refresh the page. Fix this so the progress updates immediately. # Not: "add a try-catch around the API call" # Instead: > When the AI tutor API call fails, the chat just freezes. Show a red error message that says "Connection lost, please try again" and re-enable the send button.
A feature is “baked” when:
It works as expected in all cases you can think of
It handles errors gracefully
It looks good on desktop and mobile
You’ve tried to break it and couldn’t
Once baked: commit, and move to the next feature.
> Commit all changes with message "Add AI tutor with conversation history"
This is the hardest mindset shift for experienced engineers.
Read every file the AI changed
Check variable names
Worry about import order
Rewrite code “your way”
Spend 30 min reviewing
Test the feature in the browser
Try edge cases
Check mobile responsiveness
Verify data integrity
Spend 2 min testing
A hard truth from my experience:
It never forgets to handle edge cases
It follows conventions perfectly
It writes consistent patterns across files
It never gets lazy or takes shortcuts
It knows every best practice from every framework
This doesn’t mean it’s always right. It means your default should be trust, then verify - not distrust, then rewrite.
You are now three roles in one:
A good prompt is a good spec. A bad prompt is a bad spec.
> Add a dashboard
What goes on it?
For whom?
What data?
> Add a dashboard page at /dashboard.
Show the user's learning streak,
completed lessons, vocabulary
mastery %, and recent activity
(last 10 sessions). Include a
chart showing progress over time.
One giant prompt
Everything at once
Hard to debug
Can’t test individually
If it fails, you lose everything
Many small prompts
One feature at a time
Easy to test each step
Easy to undo if wrong
Git commit after each success
“Describe behavior. Start small. Add incrementally. Test outcomes. Trust the machine. Ship fast.”
Six real products. All built by one person. All powered by GenAI. All live in production.
Static site with 5,000+ lines of crafted HTML/CSS/JS
10 language translations with language switcher (every page)
4 interactive slide presentations including this GenAI lecture
Dedicated Impact page, Press & Media page with downloadable headshots
Blog system, photo gallery with lightbox, PDF report viewer
GoatCounter + GA4 analytics, full SEO + JSON-LD + llms.txt
Built in: ~4 hours Traditional: 2–3 weeks with a web developer Note: I’m a backend & ML engineer - I don’t know web development!
150,000+ real listings scraped from 3 sources (Emlakjet, Hepsiemlak, Sahibinden)
AI chat: describe what you want, get matching listings
Voice input support
AI-generated insights and scoring for each listing
81 provinces, 973 districts across Turkey
10 language support, bookmarks, sharing
Stack: Next.js 16 + Prisma + Neon PostgreSQL + Claude API + Cloudinary + Bright Data
Instead of filters and forms, users just talk:
User: I'm looking for a 3-bedroom apartment in Çankaya, max 15,000 TL/month, with a balcony AI: I found 23 listings matching your criteria. Here are the top 5 based on value score: 1. 3+1, Kızılay, 12,500 TL - Score: 92/100 ✓ Balcony ✓ Central heating ✓ Near metro ...
Practical & business English for the global workforce
AI tutor with conversation practice
Writing, speaking, listening, grammar, vocabulary modules
Adaptive assessments and learning paths
18 language support with next-intl (the most multilingual of all projects)
Leaderboards, friends system, progress tracking
Stack: Next.js 16 + Prisma + Neon PostgreSQL + next-intl
Users predict outcomes of real-world events
CPMM (Constant Product Market Maker) for pricing
Virtual economy: “Oy Hakkı” (vote rights) currency
50 free on signup, +3 daily, purchasable via Stripe
Categories: Economy, Politics, Tech, World, Education
10 language support, admin panel, early resolution system
Complexity: Financial math, real-time pricing, payment integration - all built with AI
YKS and LGS format exams (Turkish university/high school entrance)
AI-generated exam questions
Turkish “net” scoring system (correct − wrong/4)
4 user roles: admin, teacher, student, parent
Real-time exam taking with timer
Performance analytics and progress tracking
Stack: Next.js 16 + Prisma + SQLite Domain-specific: Turkish education system rules, net calculation
AI-driven restaurant and food reviews for Ankara
Automated data collection and photo matching
Smart review aggregation and scoring
Location-based restaurant discovery
Multi-language support
Stack: Next.js 16 + Prisma + PostgreSQL Domain-specific: Food/restaurant data, review aggregation, Ankara-focused
Google-backed nonprofit training 1,200+ African engineers
500+ job offers at top tech companies
7 products incubated (Adot, AfroChat, Akil, Dime, Eskalate, RateEat, SkillBridge)
Operations across 5+ countries
I built all these projects in parallel over ~3 weeks. Here are the estimated prompt counts:
| Project | ~Prompts | ~Time Spent |
|---|---|---|
| emrevarol.com | ~80 | ~4 hours |
| evimibul.org | ~350 | ~1 week |
| english.cash | ~250 | ~1 week |
| pusulam.ai | ~300 | ~10 days |
| deneme.live | ~150 | ~5 days |
| neyesek.biz | ~100 | ~3 days |
| TOTAL | ~1,230 prompts | ~3 weeks (parallel) |
Every project started with a single claude command
Every project used incremental, behavior-driven development
Every project achieved multi-language support via AI translation
Every project was deployed to production by AI (Vercel, GitHub)
Every project uses the same modern stack (Next.js, Prisma, PostgreSQL/SQLite)
No project required a team - one person built each one
| Project | Traditional | With GenAI | ~Prompts |
|---|---|---|---|
| emrevarol.com | 2–3 weeks | 4 hours | ~80 |
| evimibul.org | 3–4 months | ~1 week | ~350 |
| english.cash | 2–3 months | ~1 week | ~250 |
| pusulam.ai | 4–6 months | ~10 days | ~300 |
| deneme.live | 2–3 months | ~5 days | ~150 |
| neyesek.biz | 1–2 months | ~3 days | ~100 |
| TOTAL | ~16 months (6 teams) | ~3 weeks (1 person) | ~1,230 |
Things I would never have built manually:
10–18 language support with full UI translation across all projects
AI-powered conversational search with voice input
CPMM financial math engine for prediction markets
150,000+ listing web scraper with deduplication
Interactive slide presentations with 90+ slides
AI exam generation with Turkish net scoring
Real-time AI tutoring with adaptive difficulty
“I am a team of one that ships like a team of twenty.”
Practical techniques to get the most out of AI coding tools.
Need to translate to 9 languages? Don’t do it one by one.
# Claude Code can spawn sub-agents that work in parallel > Translate the lecture page to all 9 supported languages (TR, FR, DE, ES, AR, PT, RW, SW, AM). Use parallel agents for each language. # Result: 9 agents work simultaneously # 36 files translated in ~5 minutes instead of ~45 minutes
The AI is only as good as the context you give it.
CLAUDE.md - project-level instructions, tech stack, rules
Memory files - persistent knowledge across conversations
Clear prompts - specific, behavior-focused descriptions
Existing code - the AI reads your codebase and follows your patterns
# Bad context: starting from scratch every time > make a page # Good context: AI knows your project inside and out > Add a /friends page similar to /leaderboard. Show mutual friends at the top, then suggested friends based on similar learning paths. Use the existing FriendRequest model.
It happens. Here’s what to do:
Simplify the prompt - break it into smaller pieces
Give examples - show what you want, not just describe it
Share error messages - paste the exact error, AI is great at debugging
Try a different approach - “instead of X, try Y”
Start fresh - sometimes a new conversation with clear context works better
AI is an incredible debugger.
# Just paste the error and describe the context > I'm getting this error when I click the Buy button: "TypeError: Cannot read properties of undefined (reading 'price')" This happens only when the market has no trades yet. # The AI will: # 1. Find the relevant file # 2. Identify the bug # 3. Fix it # 4. Explain what went wrong
One of AI’s biggest advantages: it edits many files atomically.
> Add a "favorites" feature. Users can bookmark listings. Show a heart icon on each listing card, a /favorites page with saved listings, and a count badge in the navbar. # AI will modify in one go: # - schema.prisma (new Favorite model) # - API route (CRUD for favorites) # - ListingCard component (heart button) # - Navbar (favorites count) # - New /favorites page # - Database migration
Don’t paste AI-generated code into Stack Overflow answers (it’s not yours)
Don’t skip testing because “the AI wrote it”
Don’t use AI for security-critical code without expert review
Don’t stop learning fundamentals - you need to understand what you’re building
Don’t give up after one failed attempt - rephrase and try again
Don’t try to build everything in one giant prompt
Real incidents from building these projects with AI.
git push --force destroyed a live site (Impact page, Press page, GenAI lecture — gone)
Recovery was only possible because Vercel kept old deployments and a second clone existed
Rule: Never force push. Never rebase shared branches. Always have a rollback strategy.
AI models can autonomously use API keys and rack up thousands of dollars without you realizing
Rule: Set spending limits. Use separate keys per project. Monitor usage daily.
You need daily activity reports and finance reports — know what your AI agents did and what they spent
Use services like Resend to email yourself automated daily summaries
Rule: If you can’t see what happened yesterday, you’re flying blind.
AI cannot replace you in these areas:
Vision - What should we build? Why? (for now)
Empathy - What do users actually need? (for now)
Judgment - Is this the right approach? (for now)
Taste - Does this feel right? Is it good enough? (for now)
What’s coming next:
AI agents that deploy, monitor, and fix production issues autonomously
Multi-agent systems where AIs collaborate on large projects
AI that designs UX, writes copy, and creates assets
Voice-first development: “Hey Claude, add a search bar to the header”
AI that learns your preferences and anticipates your needs
What you’ve learned today, and what to do next.
1. The manual coding era is over - embrace AI-first development
2. Think in behaviors, not code - describe what, not how
3. Start small, iterate incrementally - one feature at a time
4. Test behavior, not code - if it works correctly, it is correct
5. Trust the machine - verify outcomes, don’t rewrite implementations
6. Your value is in vision, judgment, and taste - not syntax
7. CLAUDE.md is your project’s brain - invest in good context
8. Never stop learning fundamentals - AI amplifies knowledge, not ignorance
9. Guard your API keys - AI models don’t care about your bill, set limits and monitor daily
10. Always have backups - never force push, log everything, generate daily reports
Build something real this week.
Install Claude Code or Codex CLI. Create a new project.
Pick a simple idea (personal site, todo app, calculator). Build it entirely with AI. Follow the iteration cycle.
Add 3 features incrementally. Test each one. Commit after each.
Deploy to Vercel or Netlify. Share the URL. Show the world.
Claude Code: npm install -g @anthropic-ai/claude-code
Codex CLI: npm install -g @openai/codex
This lecture: emrevarol.com/lecture/coding-with-genai.html
All lectures: emrevarol.com/lecture/
emrevarol.com - Portfolio & lectures
evimibul.org - AI real estate
english.cash - AI English learning
pusulam.ai - Prediction markets
deneme.live - AI exam platform
neyesek.biz - AI food reviews
a2sv.org - Africa to Silicon Valley
“The future belongs to those who can clearly describe what they want to build. The machines will handle the rest.”
Now go build something amazing.
Emre Varol · Founder & CEO, A2SV