Tınaz Temizlik
An original identity and website for an Ankara cleaning company






The opening composition, with the identity and both customer journeys
Giving an established company a presence online
Tınaz Temizlik has cleaned homes, offices and construction sites in Ankara since 2010. When I started, it had no website, logo or Google Business Profile. A household looking for a cleaning team and a contractor checking the company's capabilities both needed somewhere to start.
I handled discovery, brand identity, visual design, engineering and launch. The client returned the discovery questionnaire on 20 September 2026, and the site went live on 23 September. I continue to maintain the application and its deployment.
The mop becomes the T
I designed the identity around the first letter of Tınaz. An upright mop forms the T, followed by warm serif lettering that keeps the Turkish dotless ı intact. I rebuilt the mark as vector artwork and produced a brand kit for the website, social profiles and print.
The smallest icons have their own drawings so the symbol remains legible at 16 and 32 pixels. The website carries the same identity through evergreen, warm white and pale sage, with expressive serif headings and a quiet reading face.
Two audiences, two clear paths
A household wants to know what a cleaning visit includes. A contractor needs to understand post-construction work, staffing and how to request a quote. I gave both audiences space from the opening screen, with separate service paths and content written around their questions.
The homepage moves from the opening film into service panels, real project footage, a scope comparison and a request form. Detailed service pages explain what is included and how the work is planned. Pricing content explains the survey and quote process.
On phones, I designed the compositions again for the available space. Project rows swipe, service choices become compact controls, and a full-screen menu keeps the main journeys readable. Phone, WhatsApp and request actions stay within reach. Visitors who prefer reduced motion get native scrolling and simpler transitions.
A request that survives an email outage
I built one request pipeline for the site's forms. Server validation, rate limiting and Cloudflare Turnstile protect the endpoint. Idempotent submissions let a visitor retry a dropped connection without creating duplicate requests.
PostgreSQL stores the request and its notification work in the same transaction. A transactional outbox sends the owner notification and customer receipt, then retries failed delivery through a scheduled worker. The request remains available even when the email provider is temporarily unavailable.
Service content is also validated at build time. Shared records feed the service pages and comparison table, keeping the details consistent as the site changes.
Built to be found and maintained
I built local search foundations into the application: page-specific titles and descriptions, canonical URLs, structured data, breadcrumbs and generated sitemaps. After launch, I set up Google Search Console and the company's verified Google Business Profile.
The finished site gives Tınaz a recognizable identity, a place to explain its work and a direct way for customers to ask for it. I designed and built the public experience and the system behind each request, then carried both through to production.
Built with
- brand identity
- logo design
- responsive design
- local SEO
- structured data
- Drizzle ORM
- transactional outbox
- idempotency
- bot protection
- reduced motion