Overview of Syntax 1002: The Real Pricing of LLMs
This potluck episode of Syntax covers a wide range of web dev topics, with a heavy focus on the economics of modern AI tooling. Wes Bos and Scott Tolinski discuss rising LLM costs and usage-based billing, the security risks of vibe-coded and untrusted software, how to catch up when the web dev landscape moves too fast, why native browser UI is still underrated compared to component libraries, a promising new CSS linting ecosystem, and the best way to manage Node/package manager versions. They also share a few practical sick picks at the end.
The Real Pricing of LLMs
Usage-based billing is replacing “all-you-can-eat” AI plans
- GitHub Copilot’s move to usage-based pricing sparked the discussion.
- The hosts argue that the “free lunch” for AI usage is ending because heavy usage is far more expensive than most users realized.
- They note similar tightening from other vendors:
- Anthropic limiting higher-end Claude usage
- Per-token/API pricing becoming more prominent
- Products like ElevenLabs and Midjourney pushing users into subscription tiers or limiting access
Why costs are rising so fast
- AI usage is no longer just “ask a question and paste the answer.”
- People are now:
- running multiple agents at once
- using models for commit messages, code reviews, and other repetitive workflows
- sending much larger prompts and consuming more tokens than expected
- The hosts point out that newer models can actually be more expensive per task because they use more tokens even when they’re better at the job.
Likely future direction
- Providers may eventually:
- restrict API access
- push users toward their own apps and products
- focus on smaller, cheaper models for specific tasks
- Wes and Scott expect more task-specific tooling and fewer “one giant model does everything” workflows.
Security and the Rise of “Everybody Is Getting Hacked”
Job interview backdoor scare
- They discuss a story where a developer nearly got compromised during a recruiter-led coding interview.
- The repo contained code that would have exfiltrated environment variables.
- The example serves as a warning:
- don’t blindly clone and run untrusted code
- be careful even in “legitimate” job interview settings
- use tooling to inspect suspicious repos before executing anything
Vibe-coded apps and trust issues
- They express growing skepticism toward:
- newly released macOS apps
- forked projects from unknown maintainers
- fast-built apps that may hide malicious behavior
- Their general advice: be increasingly cautious with unvetted software, especially anything that appeared recently and feels overly polished for its age.
How to Catch Up in the AI / Web Dev Landscape
Focus on outcomes, not the tooling
- A listener asked how to re-enter the field after time away and feeling behind.
- Their answer: don’t obsess over the latest agents, harnesses, or orchestrators.
- Instead, ask:
- What am I actually trying to build?
- What result do I want?
- Which tools help me get there fastest?
Don’t lose sight of the broader web platform
- They emphasize that while AI dominates conversation, the browser platform keeps evolving:
- newer CSS features
- browser-native APIs
- improvements in native form/UI controls
- The key takeaway is to balance AI exploration with learning the underlying web platform.
Competitive advantage is creativity
- Everyone can type into a model.
- The real skill is:
- choosing the right problems
- creatively applying AI
- building useful things instead of “slop”
- They stress that secret prompts and gimmicky AI tricks are not durable career advantages.
Native Browser UI vs React Component Libraries
The case for native HTML/CSS
- A listener asked about using React UI components versus native browser solutions like:
<details>/<summary>for accordions- customizable selects
- CSS Anchor positioning
- Wes and Scott strongly favor native browser primitives when they can replace extra JavaScript.
Why component libraries still exist
- Libraries like Base UI offer:
- accessibility coverage
- composability
- predictable behavior across edge cases
- But the hosts feel many libraries are too complex for simple use cases and add too much abstraction.
Main concern: too much JS for simple UI
- Their complaint is less about React itself and more about:
- overly elaborate APIs
- too many wrapper components
- extra code for basic UI patterns
- They argue that many “components” are effectively glorified
<div>s with click handlers.
CSS Linting and Better Guardrails for AI Output
A new CSS linting ecosystem is emerging
- Bart from Project Wallace shared that they’re building a large stylelint plugin pack.
- They also discussed CSS kit.rs, a promising CSS tooling project influenced by modern Rust-based tooling patterns.
Why this matters
- The hosts are excited about linting tools that can catch:
- AI-generated CSS bloat
- weird spacing rules
- unnecessary borders and styling patterns
- They want guardrails that help prevent common “AI slop” design tells.
Project Wallace shoutout
- They praised Project Wallace as one of the best tools for analyzing CSS, both via CLI and a web interface.
- The takeaway: the ecosystem needs stronger, more deterministic CSS tooling as AI-generated code increases.
Best Way to Manage Node and Package Manager Versions
Their practical recommendation
- The listener asked how to manage Node, npm, pnpm, Bun, and version-dependent environments.
- Wes and Scott recommend a tool-based wrapper approach instead of manual juggling.
Tools mentioned
- Corepack
- built into Node
- helps projects specify which package manager to use
- n / fnm
- Node version managers
- Vite Plus
- Scott’s preferred solution
- manages both Node version and package manager per project
- reduces friction when switching between projects
General advice
- Use project-level version declarations in
package.json. - Avoid relying on global “YOLO install and fix later” setups if you can.
- Prefer tools that infer and enforce the correct environment automatically.
Ad Transitions, Sentry, and Podcast Housekeeping
Why the clever ad transitions changed
- A listener asked why the show stopped doing playful sponsor transitions.
- The hosts said the show’s sponsor situation changed since Syntax is now owned by Sentry.
- They also admitted the transitions simply faded as the show evolved.
Sentry debugging anecdotes
- They joke about using Sentry to identify:
- bad API keys
- invalid request errors
- preview deploy issues
- The segment doubles as a reminder that observability tools can surface real operational problems quickly.
Sick Picks
Wes’s pick: Amaran Halo 100X light
- A compact, standard-mount light for desk/video setups.
- He likes that it supports standard attachments and works well for side lighting and camera setups.
Scott’s pick: Zeiss lens cleaner
- A cheap, long-lasting cleaner for glasses, screens, keyboards, and trackpads.
- He also recommends using Keyboard Clean Tool from the BetterTouchTool creator to disable key input while cleaning.
Key Takeaways
- AI pricing is normalizing around usage-based billing, and heavy users should expect costs to rise.
- Security caution matters more than ever, especially with repos, interview code, and vibe-coded apps.
- The best way to stay current is to focus on outcomes, not every new framework, harness, or agent tool.
- Native browser UI is becoming more capable, and many UI libraries may be overkill for common patterns.
- Better CSS linting and environment tooling will be increasingly valuable as AI-generated code grows.
- Use tools like Corepack, version managers, or Vite Plus to keep Node/package manager setups sane.
