2024 to 2026 · Archive · Real estate
Lotus Estate
A marketing site and lead funnel for a 12-villa complex in Istanbul, split out of a private monorepo into three repositories.
- Next.js 14
- styled-components
- MUI
- Swiper
- NestJS 10
- TypeORM
- PostgreSQL 16
- villas in the complex
- 12
- routes that render with zero network calls
- 4
- layers in the parallax hero
- 11
- repositories out of one monorepo
- 3
What I walked into
A marketing site and lead funnel for a 12-villa complex in Istanbul, living inside a private monorepo.
Then the backend died, and the question was how much of the site would go with it.
What I changed, and why
Copy beside the component
Every section reads its copy from a *.config.ts module sitting beside the component.
Three repositories from one
The site was split out of the private monorepo into three repositories, with the 2024 source kept verbatim on dev.
A parallax hero on one listener
Eleven layers driven by one mousemove listener writing --move-x and --move-y.
A marquee without a library
A requestAnimationFrame marquee that wraps at a quarter of scrollWidth.
Floor plans inside floors
An EffectFlip Swiper nested inside a floor-paginating Swiper.
The backend died and the site lost exactly one feature, not its content.
Where it landed
All four routes still render complete with zero network calls after the backend died.
The motion is hand-rolled throughout: the eleven-layer hero, the marquee and the nested floor plans.