Skip to main content

Beauty by Negin – Multilingual website for a beauty salon.

Luxurious website with a straightforward admin panel for a facial and skincare studio, developed via vibe coding with AI: 5 languages (Persian and Arabic right-to-left), appointment requests, live chat, customer accounts with login codes, one-click AI translation, and customisable website colours – ASP.NET Core (.NET 10), 3-tier architecture, SQLite.

amirrezaafshar / beauty-by-negin-–-multilingual-website-for-a-beauty-salon
Completed C# / .NET Aktualisiert: 2026-10-14

Beauty by Negin – Multilingual website for a beauty salon

Luxurious website with a straightforward admin panel for a facial and skincare studio, developed via vibe coding with AI: 5 languages (Persian and Arabic right-to-left), appointment requests, live chat, customer accounts with login codes, one-click AI translation, and customisable website colours – ASP.NET Core (.NET 10), 3-tier architecture, SQLite.

Beauty by Negin – Multilingual website for a beauty salon

About the project

Beauty by Negin is the website for a facial and skincare studio – a real client project. The studio is currently located in Iran and is moving to Germany via Turkey. That is why the site supports five languages: Persian, Turkish, German, English and Arabic – Persian and Arabic are displayed right-to-left, and each language has its own translated URLs.

The owner is not a technical person. Therefore, the primary goal was an admin panel that can be operated without prior knowledge: every page explains in simple terms at the top what customers can do on the website and why it matters, every field includes brief help text, and guides (e.g. Gmail setup, Google Search Console) provide step-by-step instructions.

Visitors can view treatments, request appointments, chat with the studio via a customer account with an email login code, write reviews and subscribe to the newsletter. In the panel, texts can be translated into all languages via AI with a single click, and the colours of the entire website can be changed using over 20 ready-made three-colour combinations.

The project was developed using vibe coding: I described requirements, design and behaviour in natural language, and an AI wrote the majority of the code – requirements, verification of every step, architectural decisions, testing and delivery were handled by me.

Technical implementation

ASP.NET Core MVC with Razor on .NET 10, structured in three layers: DataAccess (EF Core, entities, migrations, seed data in 5 languages), Business (services for content, settings, email, Telegram, AI translation, theme, backup) and Web (public page plus admin area). The database is SQLite, with migrations running automatically on startup. The panel uses ASP.NET Core Identity with roles (Admin/Editor); customer accounts are separate and operate passwordlessly using a 6-digit code and hashed session tokens.

The website loads nothing from third parties: fonts, libraries and images are served from its own server, and there is a strict Content Security Policy without inline scripts and styles. Colours are handled via semantic CSS variables; a compact /theme.css is generated from the panel settings, overriding only changed values. Uploaded images are automatically converted to WebP sizes. Delivered as a self-contained build for Windows/Plesk, via Docker or as a Render blueprint (Frankfurt).

Key Features

  • Multilingual website: Persian, Turkish, German, English and Arabic with translated URLs, hreflang and automatic right-to-left layout.
  • Appointments & contact: Appointment requests with status in the panel, contact form, notifications via email or Telegram.
  • Customer accounts & chat: Password-free login via a 6-digit code, view your own appointment requests, live chat with the studio.
  • AI translation: write in Persian, press a button: Google Gemini fills all other languages into the right fields.
  • Website colours: 20 three-colour combinations or 8 colour groups with ~20 suggestions each, live preview and automatically readable text.
  • Simple admin panel: an explanation on every page, help on every field, step-by-step guides, usable on mobile.
  • Privacy & security: no trackers, no CDNs, strict CSP, encrypted credentials, multilingual privacy policy.
  • Backup & migration: backup and restore as a single zip file, daily automatic backups, Docker and a Render blueprint.

My Role

Independently implemented for a real client: gathered requirements, developed via vibe coding with AI, reviewed and tested every step, prepared content and images, created price quotes and presentations, and prepared delivery (hosting package, Docker, Render).

Architecture

Web (ASP.NET Core MVC, public page + admin area, middleware for language, security and assets) → Business (services and business rules: content, customer accounts, chat, settings, email, Telegram, Gemini translation, theme, backup) → DataAccess (AppDbContext for SQLite, entities, migrations, seeders). All mutable data is stored in two folders (App_Data and uploads) – making migration between countries and servers as simple as copying a folder or a backup zip.

Challenges

Five languages with two writing directions, a non-technical owner, and a relocation from Iran → Turkey → Germany: The site must run on Iranian servers (where Google and Telegram are blocked) and later be GDPR-compliant in Germany – without requiring a rewrite.

Solutions

Translated URLs and hreflang per language, automatic RTL layout, a panel with explanations on every page and help at every field, AI translation at the click of a button (results are only entered, not saved automatically), features that gracefully shut down if services are missing, no external resources, multilingual privacy policy (GDPR, KVKK) and a backup zip for migration.

Code Highlight

5 Sprachen inkl. RTL · über 20 Panel-Bereiche mit Erklärtext · KI-Übersetzung (Google Gemini) neben jedem mehrsprachigen Feld · 20 Drei-Farben-Paletten + 8 Farbgruppen mit Live-Vorschau und Kontrastprüfung (WCAG AA) · passwortlose Kundenkonten und Live-Chat · strikte CSP ohne CDNs · Lighthouse 97–100 · automatisierte Playwright-Prüfungen über alle öffentlichen Seiten und Panel-Seiten in mehreren Bildschirmbreiten

Key Learnings

Working with AI as the primary developer while maintaining quality and responsibility · Planning multilingualism cleanly with RTL · Designing interfaces for users without technical knowledge · Consistently implementing Content Security Policy · Considering data protection for multiple countries · Client consultation, pricing, and delivery of a real project

// Back to project overview