After more than two decades on the web development rollercoaster, Krasimir Tsonev has seen the industry reinvent itself many times. At WebExpo 2025 he delivered a clear and fast-paced retrospective that explored how the web has grown, and what has stayed surprisingly stable.
Krasimir, a developer with over 20 years of experience and the author of books on Node.js, JavaScript and React, framed the talk as both a look back and a reminder: a lot of what seems new rests on foundations built long ago.

From the first web page to the JavaScript boom
Krasimir opened by jumping back to the early days: “This is the year when the World Wide Web is invented.” From there he walked through crucial moments that shaped modern development. The first surviving webpage. JavaScript arriving in 1995. The introduction of XMLHttpRequest and the rise of Ajax. As he joked, “Ajax came, Asynchronous JavaScript and XML, which is an interesting aspect of XML.” Each step added more interactivity and set patterns that still guide how we build today.
He also recalled how simple the early stack was. In 2004, after doing some graphic design work, he found himself building websites “because I know HTML and CSS”. That blend of visual thinking and markup understanding supports his main theme that fundamentals are long lasting.
The flash era and its echo in modern single‑page apps
Another highlight was his look at the Flash era. Flash apps came with a bundled runtime, fetched data with API calls and lived outside search engines. Sound familiar? Krasimir pointed out how similar this is to today’s large client side bundles. Swap the Flash logo for JavaScript and the pattern barely changes. Developers even created two versions of each site so that Google could index something at all.

Then came the industry turning point. “This guy, Steve Jobs killed Flash because he wrote a letter saying, well, I’m not going to run this Flash player on my devices.” That moment forced a migration to JavaScript and helped launch the era of rich browser applications.
Tooling, trends and the evolution of taste
Krasimir mapped the cascade of innovations that followed: Firefox and dev tools, Chrome’s performance focus, Node’s transformation of JavaScript, the rise of frameworks (Backbone, Angular, React) and ecosystems like npm. He summarised why TypeScript works for so many teams: “What TypeScript brings is just a better developer experience.” He also noted how quickly opinions shift. JSX and CSS in JS were once magnets for criticism but later became mainstream.

A live‑coding cautionary tale: Know the platform
In a hands-on part of the session, Krasimir showed a common mistake: reinventing browser behaviour with frameworks instead of using semantic HTML. He built a form using multiple frameworks and libraries, then contrasted that with a plain HTML form and fieldset that leveraged built‑in functionality. His advice was clear: “Just don’t try. Don’t use the elevator. Take the stairs.” In other words, learn the fundamentals first and then adopt frameworks. Otherwise you risk rebuilding features the browser already gives you.
Practice, patience and the developer’s journey
To close, Krasimir connected professional growth to persistence. Real improvement comes from repetition and small steps. “The only way to progress is to practice.” His stories about running and publishing reinforced the same point. Despite constant change in tools and workflows, he returned to a simple truth: “The web is the same. It is just the same old web with old HTML, CSS and JavaScript.”

And the key takeaways?
- Fundamentals first: understanding HTML, CSS and native browser behaviours prevents unnecessary complexity.
- Tooling evolves, but core principles persist: technologies will change, yet many problems stem from basic misunderstandings.
- Practice over shortcuts: steady, frequent practice creates lasting skill and makes new tools more useful.
For more details, demonstrations and historical context, the full recording and slides are available below.
What’s next
Krasimir is returning to WebExpo 2026 with a brand new talk JavaScript: Weird by design and we love it. Expect a tour through the language’s funniest and most chaotic behaviours, from [] == ![] evaluating to true to how a single line of code can overwrite a user’s clipboard. If you enjoy talks that mix curiosity, humour and a bit of “wait, what”, this one will hit the spot.
