CKEditor AI on Your Premises

Hook your LLM and register MCP tools - on-demand webinar

Watch now
View all authors
Vadim Smirnov

Vadim Smirnov

Meet the author

Vadim Smirnov is a passionate Developer Advocate at CKEditor with extensive experience in the open-source ecosystem. He has a rich history of engaging with developer communities, including his leadership role in the Google Developers Group. He has contributed to projects across diverse domains, such as AI and e-commerce. Vadim specializes in creating impactful educational materials that empower developers to master tools and technologies effectively.

As a JavaScript developer, Vadim Smirnov brings deep expertise in frameworks like React and Next.js and a strong proficiency in CSS and modern styling solutions like Tailwind. His work combines technical precision with a keen eye for aesthetics, ensuring developers have access to functional and visually polished resources.

Vadim Smirnov is a prolific content creator, sharing his knowledge through articles, YouTube videos, and conference talks on web development topics.

Beyond his professional pursuits, Vadim Smirnov is an avid football enthusiast and music lover who appreciates the art of brewing the perfect cup of coffee. Driven by a mission to help engineers succeed, he aims to ensure developers feel confident, enjoy their work, and love their craft.

Articles

No entries

Meet other authors

Aleksander Nowodziński

Technical Leader, CKSource

Published: 3

Dan O’Keefe

Technical Content Manager, CKEditor

Published: 17

Dominik Szczepaniak

Software Engineer, CKSource

Published: 1

Filip Sobol

Staff Engineer, CKEditor 5

Published: 2

Filip Tokarski

QA Engineer / Customer Solution Engineer, CKSource

Published: 1

Gökçe Tosun

Product Marketing Manager, CKSource

Published: 68

Jacek Bogdański

Engineering Manager, CKSource

Published: 11

Łukasz Datkowski

Frontend Developer / UX Designer, CKSource

Published: 1

Marcin Dusza

Senior Product Manager, CKSource

Published: 1

Mateusz Pytel

Fullstack Developer / Team leader, CKSource

Published: 3

Ondřej Chrastina

Developer Advocate, CKEditor

Published: 7

Paweł Wiaderny

Product Owner, CKSource

Published: 5

Piotr Koszuliński

Director of Engineering, CKSource

Published: 9

Roman Khudonogov

Head of Product at Tiugo Technologies

Published: 1

Szymon Cofalik

Principal Engineer, CKSource

Published: 3

Tomasz Jakut

Senior Software Engineer / Web Standards Expert, CKEditor

Published: 13

Wiktor Walc

CTO, Tiugo Technologies

Published: 3

Witek Socha

Senior Technical Product Manager, CKEditor 5

Published: 1

Wojtek Cichoń

Senior Product Marketing Manager

Published: 10

Published: 50

Published: 40

Published: 5

Published: 27

Published: 1

Published: 1

Published: 20

Published: 4

Published: 20

Published: 24

Published: 1

Published: 12

Published: 3

Published: 7

Published: 1

Published: 6

Published: 7

Published: 1

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

contact_confirmation
policy
eventId

Input email to subscribe to newsletter

Subscription failed

Thanks for subscribing!

HiddenGatedContent.

(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });