Skip to main content Skip to contact

THAIHAUS SOM.

Thai restaurant with loyal regulars, too slow online and barely visible on Google. What started as an Elementor fix grew into a fully custom WordPress theme and, on top of it, TAMSANG, the restaurant app for reservations, vouchers and ordering. The front page now loads under 0.3 seconds, Lighthouse 94 to 100, menu as HTML instead of PDF, all self-maintainable.

Front-page load time

< 0,3 s

LCP 0.2 s · CLS 0.01

Lighthouse

94–100

Performance · A11y · SEO

Custom restaurant app

Tamsang

Booking · Vouchers · Orders

FROM HOTFIX TO ITS OWN PLATFORM.

Thaihaus Som (Thai restaurant in Upper Austria with loyal regulars) turned into a two-stage project. First the old Elementor site got cleaned up: four-second load time, PDF-only menu, broken mobile layout, exactly where reservations stall. What started as a fix grew into a full custom WordPress theme, and on top of it, TAMSANG, a tailor-made restaurant app for reservations, vouchers and delivery partners. They ordered a band-aid, got a kitchen.

OWN THEME. NO PAGE BUILDER.

  • Built from the ground up: WordPress theme with React Islands and Tailwind. No page builder, no plugin sprawl. One code base, one person responsible.
  • Mobile-first layout: over 80 % of guests come from phones. We design there first, scale up to desktop. Front page loads under 0.3 seconds, every image is Sharp-optimised (AVIF/WebP, three sizes).
  • Menu as structured HTML list instead of PDF. Google understands the dishes, allergens, prices. German, English and Thai in one system without WPML.
  • Self-maintainable: Christian swaps in new dishes, seasonal specials, photos and videos in the backend as easily as Word.
  • No Google Fonts, no trackers, no detour via US servers. All self-hosted, DSGVO peace from second one.

A BACKEND THAT THINKS LIKE A RESTAURANT.

The WordPress backend at Thaihaus Som isn't a generic "Posts–Pages–Media" editor. Dedicated sections for dishes (with allergens, spice level, price per size), daily-special banner, ambience gallery slots, event strip with auto-expiry, newsletter list and multilingual content (DE/EN/TH). Christian opens the matching input field, not a WYSIWYG desert.

  • Tamsang cockpit: open reservations, voucher sales, webhook logs at a glance in the dashboard widget. Admin bar shows open requests as a badge.
  • Encrypted secret vault: Stripe keys, Twilio token, POS credentials sit AES-256-GCM encrypted in the database. The admin shows masked values, never plaintext.
  • Custom roles for owner, service staff and casual help. Whoever updates the daily special at night never accidentally reaches the Stripe settings.

TAMSANG: THE RESTAURANT APP.

Tamsang is Thai for ตามสั่ง, "à la minute", made to order. That's exactly what the app does: it takes reservations, voucher purchases and delivery requests directly on the website. No Calendly, no OpenTable, no commission on every table.

  • Booking with slot logic: Christian sets time windows, weekdays, seats per slot and blackout dates. Atomic locking prevents double-bookings. Guest gets confirmation with a cancel link, no account needed.
  • Vouchers via Stripe Hosted Checkout: card data never touches the restaurant, PCI-SAQ-A instead of a full audit. Webhook plus cron reconciliation: triple safety, no paid voucher gets lost.
  • Order Hub as a React sheet: one button bottom-right, three tabs (Book, Pickup & Delivery, Voucher). JavaScript loads only when opened, not on page load. Wolt, Foodora and Lieferando as plain links, no data flow.
  • Modules toggle on or off: turn off Stripe, the voucher tab folds to a phone fallback. The site stays functional whichever module is currently live.
Hero of thaihaussom.at: full-bleed wok dish in the background, with logo, navigation and the headline "Täglich frisch aus dem Wok" plus order buttons on top
Live on the web thaihaussom.at →

Stack

WordPress · React 18 · Tailwind · Vite

Restaurant app

Tamsang →

Package reference

Growth · Custom

Ownership

100 % with client

Every client gets exactly this backend depth: an admin dashboard that speaks your business, menu, appointments, requests, receipts, not "Posts" and "Pages".

"Brilliant work. The site Thomas built for Thaihaus Som turned out excellent: clear, user-friendly and professional. I can now swap photos and videos myself without any hassle. Properly done."

Christian Dornfeld, Thaihaus Som