Working as a freelance web developer in Istanbul, I noticed a pattern: barbers, dental clinics, restaurants, beauty salons — they all wanted websites but most couldn't afford one or didn't have the time to figure out platforms like Wix or Squarespace. The ones who tried complained about the lack of Turkish interface, confusing editors, and dollar-based pricing that felt expensive in the local economy.
I built Web Gerek to solve this — a no-code website platform designed specifically for local businesses in Turkey.
The Problem: Local Businesses Are Stuck
In my client conversations, I kept hearing the same things. A barber in Kadikoy told me "I cut hair, I can't deal with websites." A restaurant owner in Sultanahmet had signed up for Wix, spent two hours trying to figure it out, and gave up. A dental clinic owner said they couldn't afford a freelancer's rates.
The common threads were: difficulty creating Turkish content, technical setup requirements, and monthly costs that felt too high in TL terms. A barber doesn't want to pay $30-40 per month for a website — and honestly, they shouldn't have to.
In my freelance work, I was building each client's site from scratch. The same Next.js boilerplate, the same contact form, the same Google Maps integration. Every project repeated the same foundation work. That repetition made me think: what if I could automate this?
First Decision: The Tech Stack
I was already using Next.js and Tailwind CSS in my freelance projects. I'd built sites like Hotel Perula and Gunaydin Dental Clinic with this stack. I was confident in the performance and SEO capabilities.
I used the same foundation for the platform:
Next.js — for both the platform interface and the template rendering engine. Server-side rendering means Google can easily index the sites users create.
Supabase — all user data, site content, booking system, and analytics data live in Supabase. PostgreSQL's reliability combined with Supabase's real-time features make a solid combination.
Cloudflare — R2 for static file hosting, Cloudflare for SaaS for custom domain management, and Workers for edge computing. Fast page loads from Turkey was critical.
Clerk — user authentication. Turkish localization support and Google sign-in were important requirements.
Freemius — payment infrastructure. Accepting global payments from Turkey is complicated, and Freemius handles it.
The Template System: 47 Industry Presets
The template system is the core of the platform. When a user signs up, they first pick their industry — barber, restaurant, dental clinic, beauty salon, electrician, lawyer, and many more. Then they choose from 15 different templates.
The real difference isn't the template itself — it's the preset system. When you pick "Barber," the services automatically populate as "Haircut," "Beard Trimming," "Skin Care." Pricing, descriptions, working hours — everything comes pre-filled with industry-specific content. The user only changes their own details.
The thinking behind this is simple: a barber doesn't care about "hero sections" or "call to action" concepts. They want to see familiar language and content from their own industry.
There are currently 47 industry presets. Each includes hero background images hosted on Cloudflare R2, industry-specific service lists, and example pricing content.
QR Menus: A Dedicated Solution for Restaurants
During development, restaurant demand was strong enough to warrant its own feature. The QR menu system offers 5 different designs: classic, luxury, swiss, newspaper, and retro.
Each design targets a different restaurant type. Elegant dark tones for fine dining, nostalgic newspaper style for cafes, warm retro colors for family restaurants. Features include photo uploads per item, category organization, dietary labels (vegan, gluten-free), and one-click QR code download.
For a restaurant owner, the most important thing is instant updates. A price change reflects in 30 seconds — no printing, no waiting, no outdated menus on tables.
Booking System and Analytics
The two features local businesses need most are appointment booking and visitor tracking. I built both as part of the Pro plan.
The booking system runs on a Supabase book_slot RPC function. The business owner sets their working hours and appointment durations, customers pick an available slot and book. Simple, working system — instead of complex Google Calendar integrations, I built what small businesses will actually use.
The analytics module tracks page views, unique visitors, and referral sources. It's not as detailed as Google Analytics, but it doesn't need to be. A barber can answer "How many people visited my site this month?" — they don't need more than that.
Custom Domains: Cloudflare for SaaS
The most technically challenging part was custom domain support. Users get a default subdomain like mybusiness.webgerek.com. On the Pro plan, they can connect their own domain.
I solved this with Cloudflare for SaaS infrastructure. When a user enters their domain, the system automatically handles DNS verification, SSL certificate generation, and site routing. I also integrated the Domain Connect protocol — for supporting domain registrars (like GoDaddy and Namecheap), DNS configuration happens with a single click. We were accepted into the official Domain Connect repository.
This process would normally take a web developer hours. On the platform, it takes a few minutes.
The Editor Experience: Simplicity Over Everything
The platform's editor is deliberately not a web design tool. The left panel has form fields: business name, phone, address, services, pricing, working hours. The right panel shows a live preview. When the user changes a field on the left, they see the result on the right instantly.
I initially considered a drag-and-drop editor but dropped the idea once I understood the target audience. A barber doesn't want to drag blocks around — they want to type their phone number and be done. Simplicity wins over complexity every time.
The blog editor follows the same philosophy. It has dynamic paragraph adding, drag-to-reorder, and live preview. The menu editor has a category sidebar on the left and product list on the right. Both overlay editors run full-screen and work on mobile.
Testing and Quality: 80+ Automated Tests
Reliability is critical for a SaaS platform. When a user publishes their site, everything needs to work. So I built a comprehensive test suite.
There are currently over 80 automated tests: template completeness tests verify every template includes all required components, deploy guard tests catch issues before publishing, QR menu design tests check that each menu theme renders correctly, and HTML sanitation tests scan for security vulnerabilities.
The blog and menu validation files contain over 63 security tests. Every new template I add has to pass the full suite — this prevents "new template broke old templates" regressions.
Multilingual Support and i18n
The entire platform interface is available in Turkish and English. This isn't limited to the user-facing UI — API error messages, email notifications, and editor tooltips all work in both languages.
I completed the i18n infrastructure in five phases. The UI uses a t() function, the API uses a msg() function. Every text string comes from translation files, no hardcoded Turkish text anywhere.
This matters because many businesses in Istanbul serve foreign customers. A restaurant in Sultanahmet wants to offer Turkish and English menus. The QR menu system's AI-powered one-click translation feature addresses this need.
Pricing Strategy
I structured pricing in three tiers:
The free plan includes 1 website, all templates, and QR menus. Its purpose is to let users try the platform and see results. The Pro plan at $6.99/month offers 2 websites, analytics, booking system, blog, gallery, and custom domain support. Pro+ at $12.99/month allows up to 15 websites — aimed at agencies and multi-location businesses.
Dollar-based pricing was a deliberate choice. With the Turkish Lira's volatility, TL-based pricing would require constant adjustments. Freemius handles global payment acceptance.
Current State and What's Next
The platform currently has 15 website templates, 5 QR menu designs, and 47 industry presets. All features — analytics, custom domains, booking system, blog, gallery, working hours, price lists, WhatsApp integration, Google Maps — are live in production.
The next major feature is a review and rating system. Customers will be able to leave feedback through the site, happy customers get redirected to Google and TripAdvisor, while unhappy ones submit private feedback to the business owner.
The biggest lesson from building this: there's always a tension between technical perfection and user needs. A barber doesn't care about CRUD operations — they want a simple answer to "how do I change my services?" Every decision I made on the platform was filtered through that perspective.
For more about my freelance web development work, check the services page, and for completed projects visit references.
If you'd like to try Web Gerek, you can create a free account at webgerek.com. For questions, reach me through the contact page.
