Live preview of the real site. Hover to scroll it, or click to browse it here.
The brief
A Manchester property investment company with no web presence and a founder whose whole business model runs on being trusted by strangers with money. What it needed was not clever: it needed to look established, explain one specific investment strategy clearly, and take an enquiry without losing it.
I built the CMS first
The received wisdom on client sites is to give them something they can edit themselves, so I did. Jekyll with Decap CMS 3.0 behind Netlify Identity, and three properly typed collections:
- Properties — price, address, bedrooms, bathrooms, area, an image upload, and a Status field constrained to Available / Lease Option / Completed so it could not be typed wrong.
- Testimonials — name, role, avatar letter, text.
- Videos — title, description, file upload, tag.
A real admin, deployed, that he could log into and use. It took the work it takes.
He didn’t want it. And he was right not to — he was never going to log in to edit a property card, and a CMS nobody uses is not a feature, it is a thing that breaks quietly while you aren’t looking. A plugin goes stale, an Identity service changes its terms, and a year later the site is a liability instead of an asset.
So thirteen days after building it, I took it out.
Why a single file
One index.html containing the markup, the styles and the small amount of
JavaScript the page needs. Images in a folder beside it. The contact form
posts to Formspree, which means a static file can still receive enquiries
without anything running on a server.
No build step, no dependencies, no framework. Open
index.htmlin a browser. That’s it.
That line is from the repo’s README, and it is the whole maintenance story. It only reads as a confident decision because the other version exists — the backend is archived, not deleted. If he ever changes his mind, it works. Throwing it away would have made the simpler site a smaller claim. Any text change is a find-and-replace by someone who has never seen the project. In a year, it will still work, because there is nothing in it that can rot.
What changed along the way
The interesting edits were not design ones. They were all the same category of mistake — placeholder content that looked finished enough to forget about. Stock property photos with invented prices. A stock hero image instead of the founder. A gallery section with nothing in it.
Each one got caught and replaced, and each time the page got more convincing in a way that no amount of layout work would have achieved. The gold stat numbers were the one genuine design error, and it was the obvious kind: using the accent colour on the content that most needed to be legible.
What I would do differently
Retire the GitHub Pages copy. It was the original host, the site moved to GoDaddy, and nobody turned the old one off — so there are now two live copies of the same site, and only one of them gets updated. That is a slow-motion problem, and it is the kind of thing that is trivial to fix today and confusing in two years.
Refinements
How it changed
Every pass, dated, oldest first — nothing trimmed and nothing tidied out. The version that got rejected is usually more informative than the one that shipped.
- Started
Built the whole thing with a CMS behind it
First version was Jekyll with Decap CMS 3.0 on Netlify Identity, so Ceyhan could edit the site himself without touching code. Three typed collections — Properties (price, address, beds, baths, area, plus a constrained Status select and image upload), Testimonials, and Videos. Media uploads routed to the assets folder. Deployed to Netlify. Not a stub: a working admin anyone could log into and use.
Functionality
- Changed
Took it all out again, because he didn't want it
Thirteen days later the CMS came out. He was never going to log in and edit property cards, and the honest version of the site was the one that did not ask him to. Removed Jekyll, removed the admin, extracted the base64-inlined images to real files, and wired the contact form to Formspree so a static page could still take enquiries. The backend is kept, not deleted — if he ever wants it, it works.
Quality of life
- Fixed
Custom domain, and three days of false starts
CNAME created, deleted, and created again across three days, then edited twice more later. GitHub Pages' custom-domain handling is unforgiving about the order you do things in, and nothing tells you which step you got wrong. The repo still carries that CNAME file today, even though the site is now served from GoDaddy.
Functionality
4
- Changed
Real face, not a stock photo
The hero image was swapped for Ceyhan's own profile photo. For a business that runs entirely on personal trust, a stock interior shot was actively working against the page.
Style - Fixed
Gold numbers on the stat cards were unreadable
The stat figures were gold on light, matching the brand accent, and they disappeared at a glance. Numbers went navy. The labels under them were white on light — just as bad — so those went black in the next commit. An accent colour is for drawing the eye to one thing, not for setting the thing you most need people to read.
Style - Changed
A favicon cut from the logo, not a default
Took the houses out of the nav logo and made them the favicon. A tab with the generic globe icon on it reads as unfinished, and it is ten minutes of work to fix.
Style - Fixed
Contact details were wrong
Phone and email corrected. On a site whose entire purpose is getting someone to make contact, these are the only characters on the page that cannot be approximately right.
Functionality
- Changed
Second pass on the profile photo
The replacement photo got replaced. The first one solved the stock-image problem but was not the right picture — hero images are seen at a size and crop that nothing else on the page is, and that has to be judged in place rather than in a folder.
Style
7
- Changed
Placeholders out, real properties in
"Past Properties" went from stock images with invented prices to real house photographs at real figures, in two passes — first realistic numbers against stock images, then the actual photographs. Same category of mistake as the stock hero: placeholder content that looks finished enough to stop seeing.
Style - Changed
Rewrote what he is called
"Expert" became Investor and Specialist. Expert is a claim a visitor has to take on faith; the other two describe what he actually does.
Style - Changed
Added the strategy section
Back to Back got its own section explaining the double-settlement model. The site stopped being only a credentials page and started explaining the method people were arriving to understand.
Functionality - Changed
Commented out the gallery rather than shipping it empty
There was a gallery and events section with nothing to put in it. An empty section advertises that a site is half-finished. Commented out, not deleted — the markup is there the day there are photos for it.
Style - Shipped
Pointed the form at his account, not mine
The Formspree form ID was switched to Ceyhan's own account. Enquiries from his website should arrive in his inbox and keep arriving if I am not around. A contact form that routes through the developer is a dependency nobody asked for.
Quality of life - Changed
Training community, and then the links to it
Added a Training & Community section plus a Skool link in contact — and then a follow-up commit to fix those links, because the first set pointed at the wrong community. Adding a link and checking where it goes are two separate jobs.
Functionality - Fixed
Email, website URL, LinkedIn and an address format
A sweep of the details: email and website URL corrected in both the contact section and the footer, a LinkedIn link added in both, and the Ardwick property's address reformatted to match the others. None of these are interesting individually. Collectively they are the difference between a site that looks maintained and one that does not.
Functionality
2
- Fixed
The phone number was still wrong
Fixed four days after the first fix. Worth recording rather than quietly correcting, because it is the honest version of what happened — the detail you have already checked once is exactly the one you stop re-reading.
Functionality - Shipped
One name, everywhere
Standardised everything to "Bodrum Property Group" and removed the leftover "Ltd" references, including in the nav logo text. A business that is called two things across one page reads as careless about everything else too.
Style
- Note
Two live copies, which will drift
The real domain is served by GoDaddy, but the original GitHub Pages build is still live and still answers, and the repo still carries the CNAME file from that setup. Two copies of the same site, one of them unmaintained. Worth retiring the Pages copy or pointing it at the real domain.
Quality of life
Screens
A look around
Look around — 4 screens

Hero — the founder's photo replaced a stock image early on, and the page got noticeably more credible for it. 
The Back to Back strategy section, added once it was clear visitors needed the model explained before the numbers meant anything. 
Past Properties. Started as placeholders, then real photographs at real prices. 
Contact — a Formspree endpoint, so the static site takes enquiries without a backend.