selected work

Çağkar Yapı

Hand-coded multi-page site for a Turkish construction and renewal firm

class
Corporate site
state
live
access
cagkaryapi.com
built with
HTML · CSS · JavaScript

A marketing site for a construction and urban-renewal company: nine hand-written HTML pages (home, about, projects, gallery, urban renewal, blog, why-us, contact, and a request form) plus a custom 404. No framework, no build step — plain HTML, CSS and JavaScript, deployed as static files.

the problem

A construction company's site doesn't need an app framework; it needs to load fast, rank in local search, and let a lead submit a form. The constraint here was doing that entirely by hand, with no bundler, while still treating SEO fundamentals — robots.txt, a maintained sitemap, measured Lighthouse scores — as part of the build rather than an afterthought.

how it is built

  • Nine content pages (home, about, projects, gallery, urban renewal, blog, why-us, contact, request form) plus a custom 404, all hand-written HTML/CSS/JS.
  • robots.txt pointing to a maintained sitemap.xml, with per-page lastmod/changefreq/priority values set individually rather than left at defaults.
  • Lighthouse was run and iterated on as part of the build, not checked once: two dated report snapshots in the repository show accessibility improving between passes (81 to 90) while SEO and best-practices both hold at 100 in both runs.
  • A request-intake form as a first-class page, not a mailto link.
  • No framework, no package.json, no build step — static files deployed as-is.

the hard parts

  • Hitting SEO 100, Best Practices 100, and improving accessibility from 81 to 90 without a framework means there's no automatic code-splitting, image pipeline or accessibility linting to lean on — every page's meta tags and semantic structure were kept correct by hand and re-checked against actual Lighthouse runs rather than assumed correct.
  • Nine hand-written pages sharing one sitemap and one robots.txt can silently drift from the real page list as content changes; the sitemap here sets per-page lastmod/changefreq/priority individually, which only stays honest if it's updated by hand every time a page changes, since nothing generates it automatically.

Need something like this built?

Backend systems, payment and API integrations, AI pipelines, and the interfaces in front of them. Freelance or contract, remote.

emircan@emircancaglar.com