All work

2026Website and plugins for a restaurant

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
Homepage of the Mexikano restaurant website with a food photo

What I did

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Next projectTripLogWeb application

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