Mexikano
A family restaurant in Neratovice that has been cooking for 30 years. They wanted a website that saves the staff work, not one more system to look after. I built a custom WordPress theme and three plugins: the daily menu, table bookings and gift vouchers.
- Year
- 2026
- Role
- Design, development, deployment
- Type
- Custom website and plugins
- Status
- Live

What I did
Custom theme
Five pages turned from a design into WordPress: home, menu, about, vouchers and contact. The restaurant edits its permanent menu of more than 80 items itself, section by section.
The daily menu, entered once
Staff fill in the soup and the dishes in a calendar and schedule them. At that time the site creates an image for Facebook and a printable PDF, then publishes the menu on the website and on the Facebook page.
Table bookings
A form on the website, a list of bookings in the admin and Confirm and Decline buttons. The guest gets an e‑mail with the answer in the restaurant's style.
Gift vouchers with online payment
The customer picks a value, pays through GoPay and gets the voucher by e‑mail as an image and a PDF. Voucher numbers and codes come from the restaurant's till.
A role for the manager
The manager has a role of their own: menus, contacts and opening hours, but no access to plugins, settings or the payment gateway.
SEO without a plugin
Structured data for Google (restaurant, address, opening hours), page descriptions and link previews for social networks.
Technology
- Website
- WordPress
- PHP
- Tailwind CSS
- JavaScript
- Generation
- PHP GD
- custom PDF writer
- PDF.js
- Integrations
- Facebook Graph API
- GoPay SDK
- SMTP
- Dev and testing
- Docker
- Playwright
Under the hood
A PDF without a library
The daily menu flyer is a PDF I assemble myself from the generated image. No heavy library, and it prints exactly on A4.
Czech accents in images
The GD library can only use a font's default weight. So I cut static weights out of the variable Cormorant Garamond font, and the menu images use the same type as the website.
One menu, several days
A menu can run for a whole week. It shows on the website every day but goes to Facebook only once.
Faster, on Macs too
I cut the homepage from 6.2 MB to 1.4 MB and made the fonts load without blocking. The stutter on Retina screens went away once fixed elements stopped blurring what is behind them.
Want something similar?
Send me a few lines about what you need. I’ll get back to you and we’ll agree on next steps.
Get in touch