Twice a week, SitePoint's dev newsletter brings you the most popular articles and tools in web development. With 2025 coming to a close, it's the perfect time to round up the content you loved most this year. I have pulled together these highlights into an article here. Enjoy!
If you're not subscribed yet, you're missing out! Sign up here to get tech roundups like these delivered twice weekly:
Top 5 Newsletter Links
👋 Farewell, Create React App
React's original starter kit, Create React App, is being deprecated after 8 years of service. The React team now recommends using full-featured frameworks like Next.js or build tools like Vite, as Create React App lacks key production features like routing, data fetching, and code splitting.
🙃 My AI Skeptic Friends Are All Nuts
A fun write-up from Thomas regarding AI-assisted coding where he doesn't shy from using strong language.
"Some of the smartest people I know share a bone-deep belief that AI is a fad — the next iteration of NFT mania. I’ve been reluctant to push back on them, because, well, they’re smarter than me. But their arguments are unserious, and worth confronting. Extraordinarily talented people are doing work that LLMs already do better, out of spite."
🎮 5 Best SQL Games to Master Database Skills in 2025
Solve crimes with SQL queries in games like SQL Noir and SQL Murder Mystery. These story-driven platforms transform boring database learning into engaging detective work, teaching JOINs, subqueries, and data analysis through realistic crime scenarios. Perfect for developers who learn better through narrative-based challenges.
⏱️ How I Program With Agents
Agents are simply "9 lines of code" - a for loop containing an LLM call that can execute commands and see output without human intervention. David explains the basics of agents and showcases how he implemented GitHub App auth in days rather than weeks, despite the agent creating initial security vulnerabilities that were quickly caught and fixed through proper code review.
🤔 SQL NULLs are Weird
SQL's UNIQUE constraints allow multiple NULLs because in SQL, NULL isn’t equal to NULL—it’s "unknown." This counterintuitive behavior impacts major databases like SQLite, Postgres, and MySQL, potentially causing subtle bugs, especially when using ORMs.
Newsletter Links 6-10
🚀 Nue: Simplicity Meets Sophistication
Nue is redefining web development by embracing web standards and cutting through the complexity of modern JavaScript frameworks. With millisecond build times, it bridges the gap between design and development using pure HTML, CSS, and JavaScript.
♿ Practical Accessibility Tips for Front-End Developers
This guide helps front-end developers integrate accessibility into their workflow. Key tips include using semantic HTML5 elements, enclosing fields in <form> tags with submit buttons, always adding alt attributes for images, and leveraging ARIA only when necessary for inclusive, user-friendly apps.
🎮 Making a Browser Based Game With Vanilla JS and CSS
Step away from the framework overload and build a flag-guessing browser game using only vanilla JavaScript and CSS. Learn how to structure game logic, implement scoring mechanics, add animations, and create engaging UI elements, all while keeping your code clean and modular.
💬 Prompt Engineering for Web Development
The better the prompt, the better the answer. We can fill in the gaps for information but leaving room for guesswork is a bad idea for LLMs. Check out how quality inputs lead to quality outputs, with examples contrasting good and bad prompts.
🔧 Some features that every JavaScript developer should know in 2025
JavaScript has evolved significantly with features many developers overlook, such as the Array.at() method for elegant negative indexing and Promise.withResolvers() that eliminates boilerplate async code. Iterator helpers prevent wasteful temporary array creation during transformations, and structuredClone() properly handles cyclic references and special values that JSON methods can't.
Newsletter Links 11-15
🛠️ Building APIs with Next.js
Lee Robinson has written a comprehensive resource walking one through every aspect of building APIs with Nextjs. The guide covers project setup, Route Handlers, HTTP methods, dynamic routing, middleware patterns, and when to skip creating an API altogether.
📐 The 13 Software Engineering Laws
From Conway's architectural influence to Brooks' counterintuitive staffing insights, thirteen software engineering laws provide crucial guidance for tech teams. Particularly valuable is understanding complementary laws like Goodhart's (metrics become useless as targets) and Gilb's (measuring imperfectly is better than not measuring) to navigate project management challenges.
🎨 What You Need To Know about Modern CSS
Chris goes through newer CSS features in 2025, including new custom @function, conditional if(), and the powerful shape() function. Key updates also address UI interaction with Popovers, auto-sizing fields, typography enhancements (text-wrap), advanced easing via linear(), and controlled focus navigation via reading-flow.
🎓 ChatGPT as My Coding Mentor: How I Learned React and Next.js
Two months transformed a junior developer who didn't understand JSX into someone confidently building full-stack applications. The secret lies in setting your experience level, requesting analogies first, and building understanding progressively rather than seeking quick code solutions.
🥀 OOP: Programming's Biggest Mistake
Object-oriented programming emerged as a revolutionary concept but became software development's greatest burden. Classes, inheritance, and methods create unnecessary complexity, restrict code reuse, and force developers into convoluted patterns. Functional programming offers simpler, more flexible alternatives using pure functions and data structures, eliminating the need for dependency injection, design patterns, and boilerplate code.
Newsletter Links 16-20
📝 How To Write A Great Agents.md
Analysis from 2500 repositories shows successful agents.md files put executable commands early, use real code examples over explanations, set three-tier boundaries (always do, ask first, never do), specify exact tech stacks with versions, and avoid generic helper roles in favor of specialized tasks like testing or documentation.
✨ 7 Simple Tricks to Make Your UI Animations Feel More Polished
User interfaces should provide instant feedback on every interaction to feel truly responsive. Adding a subtle scale-down effect (0.97) on button press makes interfaces feel instantly more responsive and alive. Combined with more tricks, these micro-interactions compound to create interfaces where everything feels right.
📦 Making software in a single, portable, self-updating, vanilla HTML file
Hyperclay is an interesting concept where your entire application lives in one HTML file that updates itself and runs anywhere. When users interact with your app, it automatically saves changes to its own DOM structure. It's a NodeJS server and frontend library that flattens the entire web stack into one simple layer.
🤝 How to run exceptional 1:1 for engineers
Most engineers and managers treat 1:1 meetings as obligatory status updates, wasting valuable time on conversations that could be emails. The key is understanding that 1:1s aren't project management meetings but relationship and career accelerators focused on the person doing the work, not the work itself.
📉 The fate of “small” open source
Since majority of coders use AI today, there's no longer any incentive to create small, educational open-source packages. These libraries perform a small or niche function that today's AI models can already instantly write the code for making these libraries obsolete.
Newsletter Links 21-25
🧹 How to keep package.json under control
Managing dependencies requires careful reading, regular audits, and tools like Renovate and Knip to keep the bloat under control. The key is reading every new dependency's source code and understanding both your problem and the solution before installing.
⚡ Building React Apps with Bun
Bun feels amazing for React as it combines runtime, bundler, and package manager into a single fast tool. It delivers near-instant startup times and seamless hot reloading, making traditional webpack and Vite setups feel sluggish in comparison.
📊 Which Table Format Do LLMs Understand Best?
Popular data formats performed worse than expected in LLM comprehension tests. CSV achieved only 44.3% accuracy while JSONL hit 45%, both significantly trailing lesser-used formats like XML (56%) and YAML (54.7%). The findings challenge common assumptions about optimal data formatting for AI systems.
📁 Handling Routes in JavaScript Projects
File-based routing in modern JS frameworks creates maintenance nightmares without proper abstractions. Hard-coded route values lead to typos, refactoring headaches, and scaling issues. Start with a simple constants file to centralize route definitions and maintain your sanity as projects grow.
🔄 A Complete Guide to HTTP Caching
Caching is the invisible backbone that makes websites fast, reliable, and affordable to run. This guide breaks down Cache-Control directives, freshness calculations, and common misconceptions that trip up developers. Learn practical recipes for static assets, HTML documents, and APIs that can slash latency and reduce server load dramatically.
This concludes the yearly recap for top links from SitePoint's dev newsletter. See you next time!

