Jiří Pudil

I turn into <code>
I am currently sort of busy

From my blog

What's new in Naja 1.1.0

In the course of the last few weeks, I have invested some time into Naja. You might recall my previous announcement in which I stated that there was still one big thing left to do. Well, now it is done!

Read 17 more posts

$ whoami

I started playing with PHP back in 2009 and have been developing in it professionally since 2012. I am most proficient with Nette Framework and Doctrine 2 ORM. I’ve also fallen in love with modern JavaScript, both client-side with React.js and server-side with Node, Express, etc. I have worked with MySQL, PostgreSQL, Elasticsearch, Redis, RabbitMQ and other exciting technologies. I also manage my own little Debian VPS that runs Nginx and PHP-FPM, as well as some of the aforementioned software.

I use common sense at work and enjoy participating in the design process of web development as well. I strive to make websites as easy to use and navigate as possible. My primary focus is still development, though.


I started my professional career at PeckaDesign in Brno. I spent the vast majority of my three years there working on Megapixel.cz, a leading Czech e-commerce site for photographers. I helped rethink and refactor the community gallery code, and implemented an online photolab service, handling large amounts of uploaded files via modern JavaScript (XHR2) and Nginx’s file upload module.


Rohlik.cz is a relatively new Czech startup running an electronic grocery store, delivering goods in the Czech Republic’s two largest cities, Prague and Brno. Dispatching over 1500 orders each day, the project’s codebase utilized technologies such as Elasticsearch to list products without relational database lookups, or RabbitMQ to perform various tasks asynchronously.

Bachelor’s degree

Faculty of Informatics, Masaryk University, Brno

In mid-2016, I finished writing my thesis – a single-page JavaScript chatting app, with React.js on the front end and Express and MongoDB on the back end. I implemented Google’s Web Speech API so that users could navigate the app, dictate messages and have them read, all without using the keyboard. I successfully defended the thesis, passed my state exams and got a bachelor’s degree.


Currently I help Grifart, a Brno-based company organizing medicinal congresses, rebuild their registration system so that all the processes that can be automated are automated. I also take time to occassionally work on side projects, including the React.js map component on Stromovani.cz.

giving back to the community

The community has given me so much that it’s only natural that I give back to it whenever I can. Thus I try to help people on Nette forum, write this blog, and contribute to or even create and/or maintain a number of open source projects, including

  • Naja, a modern AJAX library for Nette Framework;
  • neon-loader, a Neon loader for Webpack;
  • intellij-nette-tester, a plugin that integrates Nette Tester into PhpStorm;
  • intellij-nette-factory-generator, a PhpStorm plugin that smoothens the process of creating factory interfaces for services and components in Nette Framework;
  • Morozko, the missing cache warmup mechanism for Nette Framework, plus bridges for Latte and Doctrine ORM;
  • WebpackNetteAdapter, a library that helps integrate a Nette Framework application with assets built via Webpack;
  • SlimNetteBridge, a tool that helps integrate Slim framework with Nette Framework’s DI container;
  • TotpAuthenticator, a library that lets you easily implement two-factor authentication via apps like Google Authenticator.

I have given a number of talks as well:

  • Don’t be afraid of JavaScript
    I have been slowly transitioning from PHP towards JavaScript. I had to overcome the so-called Javascript fatigue and learn my way around the plethora of packages. This talk walks you through the essentials of the modern JS ecosystem and why they are needed.
    @ Poslední sobota #94 slides
  • Naja: modern AJAX library for Nette Framework
    When I needed an AJAX library for Nette Framework, nette.ajax.js had unnecessary dependencies (jQuery) and nittro was too complex. Naja comes inbetween: it is a simple modern library, but at the same time it’s easily extensible for any use case.
    @ Poslední sobota #91 slides
  • Writing truly slim APIs in Nette Framework
    Writing APIs using Nette Framework’s presenters can easily lead to bloated code and badly distributed responsibilites. This talk shows a different approach using Slim Framework, PSR-7 and middlewares, wired into Nette DI container to allow reuse of services.
    @ Poslední sobota #91 slides
  • Webpack ♥ Nette Framework
    Webpack is a module bundler for more than just Javascript. This talk explains the concepts and usage of Webpack and introduces a library that helps integrate Webpack-built assets into Nette Framework in a way that both developers and users are happy.
    @ Poslední sobota #87 slides
  • File upload for the 21st century
    Handling large amounts of file uploads is quite a challenge for both ends of web development. This talk shows a solution using pure HTML5 awesomeness on the front-end and Nginx’s efficient upload module on the back-end.
    @ Poslední sobota #66 slides

Also I contribute to the PHP docs, mainly helping to keep it up-to-date with new features: #341025, #341653, #341998, #342265, #342541, #342628, #342629, #343851

  • #php
  • #nettefw
  • #doctrine2
  • #prooph
  • #mysql
  • #postgresql
  • #elasticsearch
  • #redis
  • #rabbitmq
  • #javascript
  • #typescript
  • #reactjs
  • #nodejs
  • #git
  • #linux
  • #nginx
  • #docker
  • native
  • C1
  • B1
  • A2

Jiří Pudil
Hálkova 926
39601 Humpolec
Czech Republic

Registered in the Trade Register
Reg. no. 04299604
Content licensed under Creative CommonsAttribution