Next

Say it out loud

Practice Pitches

Spoken answers covering the full interview range. Tap ▶ Teleprompter on any pitch to rehearse on camera with a scrolling script, timer, and speed control.

How to practice Don't memorize word-for-word — it sounds robotic. Learn the shape of each answer (the beats), then say it in your own words and swap the [brackets] for your real detail. Record, watch once, fix one thing, record again. Three takes beats thirty re-reads.

Pitch 01

The 30-second intro

“Tell me about yourself” — short~30 sec

Hi, I'm [name] — a frontend / full-stack engineer with [X] years building with React, and the last [Y] focused on Next.js and the App Router. I build web apps that feel fast and hold up under real traffic.

Most recently I [shipped / owned] [a product or surface] — [one concrete thing: e.g. a checkout flow, a marketing site, a dashboard] — used by [scale: e.g. tens of thousands of visitors a day], with a focus on rendering strategy, performance, and clean component boundaries.

I'm drawn to this role because it's senior, frontend-focused, and Next.js at its core.

Delivery & pronunciation Keep it a handshake, not a biography. Land on three concrete nouns (the product, the scale, the stack). Pronounce Next.js as “next-dot-J-S” (or just “Next”), Vercel as “ver-SELL”, Turbopack as “TUR-bo-pack”, hydration normally, not “hy-DRAY-shun” rushed. Smile on the last line — it signals genuine interest.

Pitch 02

The 60-second intro

“Tell me about yourself” — full~60 sec

I'm [name], a frontend / full-stack engineer with [X] years in JavaScript and TypeScript, the last [Y] building product in Next.js and React.

What I do well: I design component architecture that scales — clear boundaries between Server and Client Components, sensible data-fetching patterns, and layouts that don't force a full page re-render for a small change. I make deliberate rendering and caching decisions instead of defaulting to “just make it a client component,” and I care about what the user actually feels: load time, interactivity, layout stability.

A recent highlight: [a specific project — what it did, your role, and one measurable result, e.g. cut LCP by 1.2s, dropped the client bundle by 40%, or moved a page from client-rendered to streamed and users noticed].

I'm looking for a senior frontend role where I can own rendering and performance decisions and raise the team's bar — which is exactly what this looks like.

Delivery Three beats: who you are → what you're good at → one proof point. Pause after the proof point. Don't list every technology — name the ones in their job description.

Pitch 03

The 2-minute career story

“Walk me through your background”~2 min

Start at the arc, not the resume. [I started building static sites / plain React SPAs, and moved toward frameworks because I got tired of solving routing and data-fetching from scratch on every project.]

Then 2–3 chapters, each one sentence of context + one thing you're proud of: “At [company] I [built X], which taught me [Y].” Show a progression — more ownership, bigger surfaces, more say in how things render.

Land on the present: “Now I'm strongest at [rendering/caching strategy / performance / component architecture], and I want a role where I [own the frontend platform / mentor / scale a design system].” Tie it back to this job.

Delivery This is a story with a through-line, not a chronological dump. Pick the thread (e.g. “increasing ownership of frontend systems”) and make every chapter advance it. Practice the last sentence until it's crisp — it's what they remember.

Pitch 04

Why Next.js (and this stack)

“Why do you like Next.js?”~45 sec

Plain React (or CRA) gets you components but leaves routing, data fetching, and rendering strategy entirely up to you — every team reinvents them slightly differently. Next.js gives me file-system routing and a real rendering model out of the box, so those decisions are consistent instead of ad hoc.

Concretely: Server Components mean a lot of my UI never ships as JavaScript at all — the bundle only carries what's actually interactive. The built-in caching and revalidation story lets me choose static, dynamic, or somewhere in between per route, deliberately. And it's one framework that carries a project from a weekend prototype all the way to a production app without a rewrite.

It scales from a marketing page to a full application without changing the mental model — that's rare and valuable.

Delivery Contrast (plain React → Next.js) is persuasive. Don't bash React — frame Next as “React with a rendering and routing story.” If they use Remix or another meta-framework, mention you'd evaluate it on the same axes: rendering control, caching, and developer experience.

Pitch 05

Why this company / role

“Why us?”~45 sec

Three honest reasons, tailored: (1) the problem — [what they're building and why it's interesting to you]; (2) the technical fit — [their stack/scale matches what I do: Next.js, [their rendering approach], [their scale]]; (3) the role — [senior ownership / the team / remote / the product surface].

Close with a forward-looking line: “I'd want to spend my first weeks understanding [their core user flow] and finding where rendering or performance work has the most leverage.”

Delivery Specificity is everything — name their product, a recent launch, or something from the JD. Generic “you're a great company” reads as no homework. Have one concrete, informed observation ready — ideally something you noticed by actually loading their site and checking the network tab.

Pitch 06

Technical deep-dive: RSC + the App Router mental model

“Explain how the App Router works”~90 sec

Two things define the App Router: the Server/Client Component split and the RSC payload.

By default every component is a Server Component — it renders on the server (or at build time) and never ships its JavaScript to the browser. Add "use client" and a component opts into the client bundle, which is what lets it use state, effects, and browser APIs. The rule of thumb: push interactivity to the leaves and keep everything above it on the server.

The RSC payload is the serialized description of the server-rendered tree — not HTML, a compact format the client uses to reconcile. That's how a Server Component can render deep in a Client Component's tree via children without becoming client code itself. Knowing exactly which parts of a page ship JS, and why, is what separates “it works” from “I designed this deliberately.”

Delivery This is the answer that proves seniority. Say the Server/Client boundary rule without hesitating — drill it. If they want depth, branch into how Server Components can be passed as children to Client Components without a client/server boundary violation. Sketch the tree with your hands as you talk; it helps you and them.

Pitch 07

STAR: a performance problem you fixed

“Tell me about a hard bug”~90 sec

Situation: [a page / flow] was [slow to load / janky on interaction] — [LCP was at X seconds / the bundle was Y KB / users were bouncing before it finished loading].

Task: I owned finding and fixing the root cause without a rewrite.

Action: I profiled instead of guessing — [ran Lighthouse / opened Chrome DevTools' performance panel / checked Vercel Analytics] and found [the cause: a client component that didn't need to be one / an unoptimized image / a waterfall of sequential fetches / a huge unused dependency]. I [converted it to a Server Component / used next/image / parallelized the fetches / removed the dependency], and added [a bundle-size check / a Lighthouse budget in CI] so it can't silently regress.

Result: [LCP dropped from X to Y / bundle shrank by Z%], and the regression check means the win sticks.

Delivery The signature line is “I profiled instead of guessing.” Lead with the metric and end with the metric. Keep Action the longest part. If you don't have a dramatic story, a real small one told precisely beats an invented big one.

Pitch 08

STAR: a tough technical trade-off

“A decision you'd defend”~90 sec

Situation: we had to [choose between X and Y — e.g. SSR vs. static generation, a client state library vs. leaning on Server Components, one Next.js app vs. splitting into micro-frontends].

Task: I had to make the call and get the team aligned.

Action: I framed it by the constraints that actually mattered — [content freshness, team size, deploy cadence, SEO requirements] — and named the trade-off explicitly: “[option A] buys us [benefit] at the cost of [downside].” I [prototyped both / benchmarked the rendering cost / wrote a short doc] and recommended [the choice], with a fallback if [assumption] proved wrong.

Result: [outcome], and because I'd written the trade-off down, we didn't relitigate it every sprint.

Delivery Seniors are hired for judgment under uncertainty. Show you chose deliberately and named the cost — not that you picked the trendy option. “I'd make the same call again, and here's the one thing I'd watch” is a strong close.

Pitch 09

Explain it simply: Server Components vs. Client Components

“Explain X to a junior”~60 sec

Think of a restaurant. A Server Component is food the kitchen preps before the doors even open — it's ready, it doesn't need the customer there, and nothing about assembling it has to happen at the table. A Client Component is a made-to-order dish at a live station — it has to happen in front of the customer because it reacts to what they choose right then.

Most of a menu can be prepped ahead. Only the parts that truly depend on the customer's live choices — clicking, typing, toggling — need that live station. That's why we default to Server Components and only reach for "use client" when something genuinely needs to run in the browser.

The payoff: the more you prep ahead, the less the customer waits at the table — which, translated back, means less JavaScript the browser has to download and run.

Delivery The ability to teach simply is the senior signal (the Feynman test). One analogy, carried all the way through, beats five technical terms. Watch the interviewer nod before you add detail.

Pitch 10

Questions to ask them

“Any questions for us?”~always

Always have 3–4 ready. Good ones signal seniority:

“What's the rendering strategy on your main product today — mostly static, dynamic, streamed — and what's the biggest pain point with it?”

“How do you track Core Web Vitals and performance budgets, and what happens when a PR regresses one?”

“What does testing and CI look like for the frontend — unit, e2e, visual regression?”

“Where is the frontend paying down tech debt right now, and where would I have the most leverage early?”

Delivery Asking about rendering strategy, performance budgets, and testing shows you think like an owner. Avoid only asking about perks. Listen to the answer and follow up — it should feel like a conversation, not a checklist.