A handsome photo of Zsolt

Hello! I'm Zsolt Benke.

Yeah, I know… here's how you say my name.

I'm a developer from Pécs, Hungary.
I like to make tools for people.


I’m making products for the web for over ten years now. I started as a web designer building WordPress sites; nowadays, I do web and iOS development. As a hobby, I blog about productivity and technology. I also do a little podcast with a friend called Agyvihar.

You can contact me in the following places.

Let me show you three of the best things that I did lately.

1. Calendar & agenda view in WorkLife

WorkLife is like Upwork for health providers. The most important part of this app is the calendar and agenda view, where health providers can manage their clients' appointments. They can get an overview of their weekly workload in the calendar view, and then drill down to see each timeslot in the agenda view. It's very straightforward to create appointments for their recurring clients in-place or insert a quick 30 minutes break for the morning coffee or launch. If something changes (because it will), providers can change their schedule on-the-fly via drag-and-drop.

2. Managing a project in Ecsedi Ékszer

A local jewelry store needed a collaboration tool, where each project has a history of every action took on it. It's like a CRM mixed with project management, so the best was to show a timeline, combined with communication tools and note-taking.

3. Filtering projects in Ecsedi Ékszer

Filtering is vital because Ecsedi Ékszer has thousands of projects. The best UI is a plain old customizable table for lots of data, so I created a prominent search bar with autocompletion for columns like status or category. A table-customization popover is attached to it, where columns can be reordered or turned off; we can even set up how many rows it should show. And of course, the table has sorting and pagination as well. I did the whole thing with Stimulus and Turbolinks on top of Postgres views and plain old ActiveRecord objects. Rails can export the customized table by parsing params from the URL, then rendering and converting the same view as a CSV.