This is the first quarterly newsletter from pooya.blog. Q1 2026 was the most productive quarter I have had as an engineer and a writer. I published over 30 technical articles, migrated my entire infrastructure from Firebase and Vercel to AWS, and tracked every significant shift in the JavaScript ecosystem as it happened.
This newsletter covers three areas. First, the JavaScript and TypeScript changes that affect how you build production applications today. Second, the infrastructure migration I completed and why AWS with SST beats managed platforms for engineers who want control. Third, a curated list of everything I shipped.
Subscribe to the newsletter for quarterly updates on engineering, AI, and infrastructure.
JavaScript Ecosystem: Q1 2026 in Review
TypeScript 6.0
Microsoft released TypeScript 6.0 on March 20, 2026. The headline numbers tell the story. Incremental compilation runs 40-60% faster. Memory usage drops 25% on large codebases. Editor responsiveness improves by 30%. These are not marginal gains. A monorepo that took 45 seconds to type-check now finishes in under 20.
The type system improvements matter more for daily work. Literal type inference means const config = { mode: 'production' } infers 'production' as the type, not string. Decorator metadata ships as a stable feature. Conditional type performance no longer degrades exponentially with union size.
I wrote a full breakdown of TypeScript 6.0 features with benchmark data.
React 19 Server Components in Production
React 19 stabilized Server Components and introduced the use() hook for async data in client components. The practical impact is significant. Server Components eliminate client-side JavaScript for data-fetching pages, cutting bundle sizes by 30-50% in content-heavy applications.
Next.js 15.3 leans heavily into this pattern. Every page in this blog renders as a Server Component by default. Client boundaries exist only where browser APIs are required, for the 3D logo animation, the contact form, and the mobile navigation toggle.
Node.js 22 LTS
Node.js 22 entered Long-Term Support in Q1 2026. Built-in fetch, a stable test runner, and --experimental-strip-types (run TypeScript directly without a build step) are the features that change workflows. The test runner alone eliminates Jest as a dependency for many projects.
Biome Replaces ESLint
Biome 2.0 became the default formatter and linter for this project. It handles formatting with tabs (not spaces), 100-character line width, and LF endings. It runs linting rules that cover most of what ESLint and Prettier combined would do, in a single Rust binary that completes in milliseconds. There is no configuration sprawl. One config file replaces the ESLint and Prettier toolchain along with their respective ignore files.
Infrastructure: From Vercel to AWS with SST
Why I Left Vercel
Vercel is excellent for prototypes and small projects. The developer experience is unmatched for zero-config deploys. But three problems emerge at scale.
First, pricing opacity. Build minutes, bandwidth, serverless function invocations, and edge middleware all meter separately. Monthly costs become difficult to predict once traffic grows beyond hobby levels.
Second, vendor lock. Vercel-specific APIs like @vercel/og, @vercel/analytics, and edge middleware patterns create dependencies that require rewrites if you move.
Third, limited AWS integration. If your backend uses DynamoDB, SES, or any service outside Vercel's ecosystem, you end up managing two infrastructure stacks.
The SST v3 Architecture
SST v3 solves all three problems. A single declarative configuration defines every resource.
What runs on AWS for this site:
- Next.js SSR via OpenNext on Lambda (cold starts under 200ms with provisioned concurrency)
- CloudFront CDN for static assets and edge caching
- DynamoDB tables for contacts, newsletter subscriptions, and auth sessions
- SES for transactional and marketing email
- ACM for SSL certificates (auto-renewal, no manual intervention)
- Route 53 for DNS management
- S3 for static asset storage
- IAM roles with least-privilege policies
- GitHub Actions OIDC for CI/CD (no long-lived AWS credentials in secrets)
The monthly cost for this entire stack at current traffic levels is under $5. The equivalent Vercel Pro plan costs $20/month before bandwidth overages.
Auth.js v5 with DynamoDB
I replaced Firebase Authentication with Auth.js v5 using a DynamoDB adapter. Sessions persist in DynamoDB with a database strategy (not JWT). The admin dashboard is protected by server-side middleware that checks session cookies. GitHub OAuth handles sign-in. The total auth infrastructure is minimal, covering the auth configuration, route protection, and the DynamoDB session table definition.
CI/CD with GitHub Actions OIDC
The deployment pipeline uses GitHub Actions with OIDC federation. No AWS access keys exist as GitHub secrets. The workflow assumes an IAM role scoped to the repository, runs npx sst deploy --stage prod, and the entire build + deploy completes in under 4 minutes.
What I Shipped: 30+ Articles in Q1
AI Engineering
- AI Agents 2026: LangGraph vs CrewAI vs Smolagents with local LLM benchmarks
- RAG Pipelines in Production covering vector database comparisons and chunking strategies
- MCP Protocol that replaced every AI tool integration
- Local AI with Ollama at $0 inference cost
- Self-Hosting AI Infrastructure with 55% TCO reduction data
- NVIDIA Nemotron + OpenManus and the $31.4B agent market
Developer Tools & Models
- GitHub Copilot with Ollama for local agentic AI
- Claude Opus 4.6 vs GPT-5.3-Codex frontier model comparison
- Maximize Claude Code advanced config for senior engineers
- Claude Code Workspace Structure inside the .claude/ folder
- The $500 GPU That Beats Claude Sonnet on coding benchmarks
- Vibe Coding in 2026 and the $9.2B Cursor valuation
Web Development
- TypeScript 6.0 Features with performance benchmarks
- AI Code Migration with JSONata saving $500K annually
- Supply Chain Attacks lessons from LiteLLM and Trivy
Market Analysis
- State of the Product Job Market in early 2026
- Software Developer Job Market Recovery data analysis
- Gold Crash Analysis with Monte Carlo and Bayesian methods
- OpenAI $122B Funding Round implications for AI infrastructure
AWS Cost Optimization: A New Service
Engineers who deploy on AWS often overpay because managed platforms hide the complexity of cost management behind convenience pricing. The reality is different. AWS offers per-request pricing, generous free tiers, and granular resource control that, when configured correctly, costs a fraction of managed alternatives.
I am launching an AWS Infrastructure & Cost Optimization service for teams that want to:
- Migrate from Vercel, Netlify, or Railway to AWS without downtime
- Reduce monthly infrastructure spend by 40-70% through right-sizing and reserved capacity
- Deploy Next.js, Remix, or Astro on Lambda with SSR via OpenNext
- Set up DynamoDB, SES, S3, and CloudFront with proper IAM policies
- Implement CI/CD with GitHub Actions OIDC (no stored credentials)
- Build monitoring dashboards with CloudWatch and cost alerts
If your AWS bill is higher than it should be, or you are paying Vercel prices for infrastructure you could own, reach out.
What Is Coming in Q2
Q2 2026 will focus on three areas. First, deeper AI agent content with production deployment patterns on AWS. Second, a series on DynamoDB single-table design for real applications. Third, expanding the newsletter with data-driven market analysis.
Subscribe to get the Q2 newsletter when it ships.
