<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ehsan Abedi</title>
    <description>The latest articles on DEV Community by Ehsan Abedi (@ehsanabedi_dev).</description>
    <link>https://dev.to/ehsanabedi_dev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4174182%2F562fbc4c-d7a1-42cf-bf86-d2be1b9d730d.jpg</url>
      <title>DEV Community: Ehsan Abedi</title>
      <link>https://dev.to/ehsanabedi_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ehsanabedi_dev"/>
    <language>en</language>
    <item>
      <title>Flutter Developer in North Cyprus: What to Look For</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Sat, 10 Oct 2026 12:52:11 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/flutter-developer-in-north-cyprus-what-to-look-for-j7m</link>
      <guid>https://dev.to/ehsanabedi_dev/flutter-developer-in-north-cyprus-what-to-look-for-j7m</guid>
      <description>&lt;p&gt;Looking for a Flutter developer in North Cyprus? You are in a good place to build an app. Businesses here serve students, residents, tourists and international buyers, often in several languages at once, and a well-made mobile app can bring all of them closer to you. Flutter makes that practical: one codebase, one team and an app that runs on both Android and iPhone.&lt;/p&gt;

&lt;p&gt;I am a Flutter developer based in Famagusta, and I build apps for businesses here and abroad. This guide explains what to look for when you choose a Flutter developer, the questions worth asking in the first call, and how a good project usually runs from start to launch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8yq1v15yee9lqnar0wu7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8yq1v15yee9lqnar0wu7.webp" alt="Hands holding an iPhone and an Android phone running the same Flutter booking app, next to a laptop with Flutter code in VS Code, on a café terrace by the old city walls of Famagusta, North Cyprus" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why work with a Flutter developer based in North Cyprus
&lt;/h2&gt;

&lt;p&gt;Remote work is normal today, and a good developer can build a great app from anywhere. Still, a developer who lives here brings a few real advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Meetings in person:&lt;/strong&gt; you can sit down together, test the app on your own phone and talk through ideas face to face.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The same time zone:&lt;/strong&gt; questions get answered during your working day, not overnight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge of the local market:&lt;/strong&gt; how customers here prefer WhatsApp, why Turkish and English both matter, and why many businesses also need German, Russian, Persian or Arabic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A partner after launch:&lt;/strong&gt; someone close by who can keep the app updated as your business grows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7 things to look for in a Flutter developer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Apps you can actually open
&lt;/h3&gt;

&lt;p&gt;Screenshots are nice, but a working app tells you much more. Ask to see real projects or app concepts, and pay attention to the small things: smooth scrolling, clear buttons and screens that make sense without explanation. You can browse my own &lt;a href="https://ehsanabedi.com/works/" rel="noopener noreferrer"&gt;websites and Flutter app concepts&lt;/a&gt; to see the kind of work I do.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. A clean structure under the hood
&lt;/h3&gt;

&lt;p&gt;The code you never see decides how easy your app will be to grow. A good Flutter developer organizes the project in clear layers, often called Clean Architecture, and uses a proven state management approach such as BLoC or GetX. The result is an app where new features can be added without breaking old ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Experience with the backend your app needs
&lt;/h3&gt;

&lt;p&gt;Most apps need accounts, data and notifications. Look for someone comfortable with Firebase, Supabase or a REST API that connects the app to your existing website or system. Then your bookings, orders or listings live in one place instead of two.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Multilingual and right-to-left support
&lt;/h3&gt;

&lt;p&gt;In North Cyprus, an app often needs more than one language. Flutter handles this well, but only if it is planned from the first screen: translated texts, dates and numbers in the right format, and a true right-to-left layout for Persian or Arabic. I work on a &lt;a href="https://ehsanabedi.com/portfolio-archive/luxury-life-property-website/" rel="noopener noreferrer"&gt;four-language real estate website&lt;/a&gt; with a full right-to-left Persian version, and I bring the same care to apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Clear communication and a written plan
&lt;/h3&gt;

&lt;p&gt;A good developer turns your idea into a short written plan: the screens, the features for the first version and the steps to get there. You should always know what is being built this week and what comes next.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Testing on real phones and publishing to the stores
&lt;/h3&gt;

&lt;p&gt;An app should be tried on real Android phones and iPhones, not only in a simulator. Publishing also takes some know-how: store listings, screenshots, privacy details and the review process at Google Play and the App Store. Choose someone who guides you through all of it.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Care after launch
&lt;/h3&gt;

&lt;p&gt;Launch day is the beginning. New phone models, operating system updates and your own new ideas all need attention. Agree early on how updates, fixes and new features will be handled, so your app stays fast and reliable for years.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions to ask in your first call
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Which apps or app concepts have you built with Flutter, and can I try one?&lt;/li&gt;
&lt;li&gt;How would you structure my app so it is easy to grow later?&lt;/li&gt;
&lt;li&gt;Which backend would you suggest for my project, and why?&lt;/li&gt;
&lt;li&gt;Can the app connect to my existing website or system?&lt;/li&gt;
&lt;li&gt;How will I see progress during the project?&lt;/li&gt;
&lt;li&gt;Who publishes the app to Google Play and the App Store?&lt;/li&gt;
&lt;li&gt;What happens after launch, when I need updates or new features?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before that call, it helps to collect a few things on your side too. My guide &lt;a href="https://ehsanabedi.com/what-to-prepare-before-hiring-an-app-developer/" rel="noopener noreferrer"&gt;Planning an App? What to Prepare Before Hiring a Developer&lt;/a&gt; lists them, and &lt;a href="https://ehsanabedi.com/app-development-cost/" rel="noopener noreferrer"&gt;App Development Cost: 9 Factors That Shape Your Budget&lt;/a&gt; explains what shapes the size of a project.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a Flutter project with me usually runs
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A first conversation&lt;/strong&gt; about your business, your customers and the problem the app should solve.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A written plan&lt;/strong&gt; with the screens and features of the first version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design&lt;/strong&gt; of the main screens in your brand colors, approved before coding starts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Development in steps&lt;/strong&gt;, with test versions you can open on your own phone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing and publishing&lt;/strong&gt; to Google Play and the App Store.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Care after launch&lt;/strong&gt;: updates, improvements and new features when you need them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Curious about the technical side? &lt;a href="https://ehsanabedi.com/flutter-app-development/" rel="noopener noreferrer"&gt;Flutter App Development: From Idea to Launch, Step by Step&lt;/a&gt; walks through each stage in more detail, and &lt;a href="https://ehsanabedi.com/why-flutter-for-your-mobile-app/" rel="noopener noreferrer"&gt;Why Flutter Is a Smart Choice for Your Next Mobile App&lt;/a&gt; explains why I build with Flutter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Do I need to be in North Cyprus to work with you?
&lt;/h3&gt;

&lt;p&gt;No. I work with clients here in person and with clients abroad online. Video calls, shared test versions and a clear written plan keep everyone on the same page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can one Flutter app work on both Android and iPhone?
&lt;/h3&gt;

&lt;p&gt;Yes. That is the main strength of Flutter: one codebase produces a native app for Android and for iOS, with the same design and features on both.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can my app use the same data as my website?
&lt;/h3&gt;

&lt;p&gt;Usually, yes. Through a REST API, a Flutter app can read and update the same listings, products or bookings as your website, so everything stays in sync.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long does it take to build an app?
&lt;/h3&gt;

&lt;p&gt;It depends on the features you need. After our first conversation I prepare a written plan with clear steps, so you know what to expect before any work begins.&lt;/p&gt;

&lt;p&gt;Many clients start with a website and add an app once customers keep coming back. I build both, so the website and the Flutter app look and work as one brand. &lt;a href="https://ehsanabedi.com/website-design-north-cyprus/" rel="noopener noreferrer"&gt;Website Design in North Cyprus: 8 Essentials for Businesses&lt;/a&gt; covers the website side.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://ehsanabedi.com/flutter-developer-north-cyprus/" rel="noopener noreferrer"&gt;ehsanabedi.com&lt;/a&gt;. Planning a website or a Flutter app? You can reach me through &lt;a href="https://ehsanabedi.com/web-design-app-development-north-cyprus/" rel="noopener noreferrer"&gt;my website&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobile</category>
      <category>dart</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Website Design in North Cyprus: 8 Essentials for Businesses</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Sat, 10 Oct 2026 10:25:47 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/website-design-in-north-cyprus-8-essentials-for-businesses-1ibh</link>
      <guid>https://dev.to/ehsanabedi_dev/website-design-in-north-cyprus-8-essentials-for-businesses-1ibh</guid>
      <description>&lt;p&gt;Good website design in North Cyprus starts with one simple fact: your customers come from everywhere. On an ordinary day, a business in Famagusta, Kyrenia or Nicosia can hear from a university student, a retired couple from Germany, a property buyer from Iran and a family from Istanbul, often before lunch. They all judge you by the same thing first: your website. It has to welcome each of them in their own language, load quickly on a phone and make it effortless to get in touch.&lt;/p&gt;

&lt;p&gt;I design, build and look after websites here, including a four-language real estate website for a company in Famagusta. These are the eight things I have learned a business website in North Cyprus really needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffmvb8zfmm7dfuftvc0zh.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffmvb8zfmm7dfuftvc0zh.webp" alt="Laptop and phone showing a real estate website on the terrace of a luxury villa with an infinity pool, overlooking the Beşparmak mountains and the coast of North Cyprus" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Speak your customers' languages
&lt;/h2&gt;

&lt;p&gt;English is the starting point, and Turkish matters for local customers. After that, look closely at who actually contacts you. A real estate agency may need German, Russian or Persian; a clinic or a language school may need Arabic. Every language should be a proper translation, checked by a person, not a quick machine copy. Languages written from right to left, such as Persian and Arabic, deserve a real right-to-left layout rather than a mirrored English page.&lt;/p&gt;

&lt;p&gt;Give each language its own address, for example &lt;em&gt;/de/&lt;/em&gt; or &lt;em&gt;/fa/&lt;/em&gt;, so Google can find it and show it to the right people. With WordPress and WPML this is straightforward. The &lt;a href="https://ehsanabedi.com/portfolio-archive/luxury-life-property-website/" rel="noopener noreferrer"&gt;Luxury Life Property website&lt;/a&gt; I work on runs in English, German, Turkish and Persian, with a fully right-to-left Persian version.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Designed for phones first
&lt;/h2&gt;

&lt;p&gt;Many visitors will meet your website on a phone: from a link shared on WhatsApp, an Instagram post or a quick search while they are out. Design for that small screen first. Text should be easy to read without zooming, buttons large enough for a thumb, and wide tables should turn into simple cards. Test every page on a real phone, not only in a desktop browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Fast, without giving up a beautiful design
&lt;/h2&gt;

&lt;p&gt;A premium look and good speed are not enemies. Page caching, a CDN, modern WebP images, self-hosted fonts and loading scripts only where they are needed can make a rich, elegant website feel quick without changing its style. I share the whole process in &lt;a href="https://ehsanabedi.com/wordpress-pagespeed-90-case-study/" rel="noopener noreferrer"&gt;How I Took a Multilingual WordPress Site to 90+ on Google PageSpeed&lt;/a&gt;. The key lesson: measure several times, change one thing at a time and always keep a backup ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Make contact effortless, especially on WhatsApp
&lt;/h2&gt;

&lt;p&gt;In North Cyprus, a lot of business conversations begin on WhatsApp. Offer a clear WhatsApp button, a phone number visitors can tap, a short contact form and a map to your office with your opening hours. Make these details easy to find on every page, not hidden at the bottom of one. The fewer steps between interest and a conversation, the more enquiries you will receive.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Be found in local search
&lt;/h2&gt;

&lt;p&gt;When someone searches for a service in Famagusta or Kyrenia, Google pays close attention to local signals. A few steps make a real difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A complete Google Business Profile, plus a listing in Bing Places&lt;/li&gt;
&lt;li&gt;The same business name, address and phone number on your website and every profile&lt;/li&gt;
&lt;li&gt;Page titles and descriptions that mention the towns and areas you serve&lt;/li&gt;
&lt;li&gt;Dedicated pages for the services or areas people search for most&lt;/li&gt;
&lt;li&gt;Google Search Console, so you can see how people find you and fix problems early&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Content that answers real questions
&lt;/h2&gt;

&lt;p&gt;Think about the questions you answer on the phone every week and turn them into helpful pages or articles: how the buying process works, what a student needs on arrival, what a service includes. Keep this content accurate and up to date. Rules and procedures in North Cyprus can change, and an article that reflects today's situation builds far more trust than one written years ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Easy for you to update
&lt;/h2&gt;

&lt;p&gt;Your website should not have to wait for a developer every time a price changes or a new photo arrives. With WordPress and Elementor you can update texts, images and news yourself. Behind the scenes, someone should still take care of updates, backups and security, so the site stays healthy while you focus on your business. You can read more in &lt;a href="https://ehsanabedi.com/why-wordpress-for-business-websites/" rel="noopener noreferrer"&gt;Why WordPress Is Still the Best Choice for Business Websites&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Signals that build trust
&lt;/h2&gt;

&lt;p&gt;People who have never visited your office need reasons to believe in you. Real photos of your team and premises, clear company details, a secure HTTPS connection, honest reviews and simple privacy and terms pages all help. A website that is clearly cared for tells visitors that they will be cared for too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your website design checklist for North Cyprus
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✔ The languages your customers really use, with right-to-left where needed&lt;/li&gt;
&lt;li&gt;✔ A mobile layout tested on real phones&lt;/li&gt;
&lt;li&gt;✔ Fast loading without losing your design&lt;/li&gt;
&lt;li&gt;✔ WhatsApp, phone, form and map on every page&lt;/li&gt;
&lt;li&gt;✔ Google Business Profile, Bing Places and Search Console&lt;/li&gt;
&lt;li&gt;✔ Helpful, up-to-date content&lt;/li&gt;
&lt;li&gt;✔ A site you can update yourself, with regular care behind it&lt;/li&gt;
&lt;li&gt;✔ Clear signals of trust&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does my website need to be in Turkish as well as English?
&lt;/h3&gt;

&lt;p&gt;If you serve local customers, yes. English reaches international visitors, while Turkish helps you connect with people who live here. Add further languages based on who actually contacts you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I update the website myself after it is finished?
&lt;/h3&gt;

&lt;p&gt;Yes. A WordPress website built with Elementor lets you change texts, prices, photos and news from a friendly dashboard, without touching any code.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I make my business appear on Google Maps?
&lt;/h3&gt;

&lt;p&gt;Create and verify a Google Business Profile with your exact business name, address, phone number, opening hours and photos, and use the same details on your website.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I start with a website or a mobile app?
&lt;/h3&gt;

&lt;p&gt;For most businesses, a strong website comes first: it is how new customers find you on Google. An app makes sense once you have regular customers who would use it again and again, for bookings, orders or memberships. My guide &lt;a href="https://ehsanabedi.com/what-to-prepare-before-hiring-an-app-developer/" rel="noopener noreferrer"&gt;Planning a Mobile App?&lt;/a&gt; can help you decide.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://ehsanabedi.com/website-design-north-cyprus/" rel="noopener noreferrer"&gt;ehsanabedi.com&lt;/a&gt;. Want to see these ideas in a real project? Take a look at the &lt;a href="https://ehsanabedi.com/portfolio-archive/luxury-life-property-website/" rel="noopener noreferrer"&gt;Luxury Life Property case study&lt;/a&gt;, or browse my other &lt;a href="https://ehsanabedi.com/works/" rel="noopener noreferrer"&gt;websites and app concepts&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>wordpress</category>
      <category>seo</category>
      <category>design</category>
    </item>
    <item>
      <title>App Development Cost: 9 Factors That Shape Your Budget</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Fri, 09 Oct 2026 21:25:12 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/app-development-cost-9-factors-that-shape-your-budget-340n</link>
      <guid>https://dev.to/ehsanabedi_dev/app-development-cost-9-factors-that-shape-your-budget-340n</guid>
      <description>&lt;p&gt;"How much does it cost to build an app?" It is the first question almost every client asks me, and the honest answer is: it depends on what the app needs to do. App development cost is not a fixed price tag. It is the sum of a few clear decisions about features, design, platforms and what happens after launch. Once you understand those decisions, you can plan a realistic budget and spend it where it matters most.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft9no09hir93isgmoijuy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft9no09hir93isgmoijuy.webp" alt="MacBook with mobile app wireframes and a feature list, next to an iPhone and an Android phone running the same booking app" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The features, and how many of them
&lt;/h2&gt;

&lt;p&gt;Features are the biggest driver of cost. A simple app with a few information screens is very different from an app with user accounts, bookings, payments, chat and an admin panel. Each feature needs design, development, testing and maintenance. Writing a clear list and marking what is truly essential for the first version is the single most effective way to control the budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Android, iOS or both
&lt;/h2&gt;

&lt;p&gt;Building two separate native apps means two codebases, two development processes and two sets of updates. With a cross-platform framework such as Flutter, one codebase runs on both platforms, which usually saves a large part of the development and maintenance effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Design: standard or fully custom
&lt;/h2&gt;

&lt;p&gt;An app built with clean, standard components is faster to create than one with custom illustrations, advanced animations and a unique interface for every screen. Both can look professional. The question is how much the design itself is part of the brand. If a design already exists in Figma, development can start sooner.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The backend and your data
&lt;/h2&gt;

&lt;p&gt;Ready-made platforms such as Firebase or Supabase cover login, databases, file storage and notifications out of the box, which saves a lot of time. A fully custom server makes sense for special requirements, but it takes longer to build and needs its own care over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Connections to other systems
&lt;/h2&gt;

&lt;p&gt;Does the app need to talk to a website, online shop, CRM, booking system or accounting software? Each integration adds work, especially when the other system has limited documentation. A well-documented API makes the connection much smoother.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Payments, maps, chat and other special features
&lt;/h2&gt;

&lt;p&gt;Online payments need security and careful testing. Real-time chat, live tracking on a map, video, offline mode and complex search all take extra time to build well. Flutter's ecosystem of tested packages helps, but these features still deserve their own place in the plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Languages and right-to-left support
&lt;/h2&gt;

&lt;p&gt;Several languages mean translated texts, local date and number formats, and for Persian or Arabic a correctly mirrored right-to-left layout. Flutter has excellent built-in localization, so planning languages from the start costs far less than adding them later.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Admin panel and content management
&lt;/h2&gt;

&lt;p&gt;Who will manage products, prices, users or orders after launch? If the team needs to update content without a developer, the project needs an admin panel. It is often forgotten in early plans, yet it saves a lot of time in daily work.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Testing, launch and care after launch
&lt;/h2&gt;

&lt;p&gt;A professional app is tested on real phones, prepared for Google Play and the App Store with screenshots, descriptions and a privacy policy, and then looked after. Android and iOS release new versions every year, so plan for regular updates, bug fixes and new features. Store accounts have their own fees too: a one-time registration fee for Google Play and an annual fee for Apple's developer program.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simple, medium or complex?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type of app&lt;/th&gt;
&lt;th&gt;Typical features&lt;/th&gt;
&lt;th&gt;Relative effort&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;td&gt;Information screens, contact, a catalog or menu, basic notifications&lt;/td&gt;
&lt;td&gt;Lowest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;User accounts, bookings or orders, a backend, push notifications, an admin panel&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Complex&lt;/td&gt;
&lt;td&gt;Payments, real-time chat or tracking, many integrations, several user roles, offline sync&lt;/td&gt;
&lt;td&gt;Highest&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How to keep app development cost under control
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start with an MVP.&lt;/strong&gt; Launch the essential features first, learn from real users, then invest in what they actually use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose cross-platform.&lt;/strong&gt; One Flutter codebase for Android and iOS means less development and simpler updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use proven services.&lt;/strong&gt; Firebase or Supabase for the backend, and tested packages for common features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prepare well.&lt;/strong&gt; A clear goal, feature list, example apps and brand materials lead to a more accurate quote.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan the whole life of the app.&lt;/strong&gt; Include launch and maintenance from day one.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This article was originally published on my website: &lt;a href="https://ehsanabedi.com/app-development-cost/" rel="noopener noreferrer"&gt;App Development Cost: 9 Factors That Shape Your Budget&lt;/a&gt;. Curious how an app is built step by step? Read my guide to &lt;a href="https://ehsanabedi.com/flutter-app-development/" rel="noopener noreferrer"&gt;Flutter app development&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>startup</category>
      <category>beginners</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Real Estate Website Design: 10 Must-Have Features That Win Buyers</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Fri, 09 Oct 2026 21:14:16 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/real-estate-website-design-10-must-have-features-that-win-buyers-lek</link>
      <guid>https://dev.to/ehsanabedi_dev/real-estate-website-design-10-must-have-features-that-win-buyers-lek</guid>
      <description>&lt;p&gt;Real estate website design is different from almost any other kind of web design. A buyer may spend weeks browsing before making one phone call, and that call can lead to the biggest purchase of their life. The website has to earn their trust long before anyone meets them: it must show every property beautifully, answer their questions honestly and make it effortless to get in touch.&lt;/p&gt;

&lt;p&gt;I build and look after the website of a real estate company in Famagusta, North Cyprus, in four languages. Here are the ten features I have found a real estate website truly needs, and why each one matters.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjufzfldjh9e5nemx9hxm.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjufzfldjh9e5nemx9hxm.webp" alt="Laptop, tablet and phone showing a real estate website with villa listings, search filters and a property map" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Property listings that sell
&lt;/h2&gt;

&lt;p&gt;Each property deserves its own page, with everything a buyer needs at a glance: price, location, size, number of bedrooms and bathrooms, and a clear description. Status labels such as &lt;em&gt;For Sale&lt;/em&gt;, &lt;em&gt;Sold&lt;/em&gt; or &lt;em&gt;Off-Plan&lt;/em&gt;, badges for payment plans and a reference number for each listing help buyers compare quickly and help the team know exactly which property a visitor is asking about.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Photos and video that do the property justice
&lt;/h2&gt;

&lt;p&gt;In real estate, photos are the product. Use large, bright, professional images, a smooth gallery that works with a swipe on a phone, and video tours where you have them. Floor plans are a bonus that serious buyers love. The trick is to deliver all this quality without slowing the site down.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Search and filters that feel effortless
&lt;/h2&gt;

&lt;p&gt;Buyers rarely browse everything. They search by city, property type, price range, number of bedrooms or status. Give them a clear search form and quick filters for the most popular areas, so they reach the right homes in two or three taps.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. An interactive map
&lt;/h2&gt;

&lt;p&gt;Location is everything in property, so show it. An interactive map with your listings lets buyers see where each home is, how close it is to the sea, the city centre or a university, and which other properties are nearby. For buyers who live abroad, a map is often the moment a listing starts to feel real.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Every language your buyers speak
&lt;/h2&gt;

&lt;p&gt;Property buyers are often international. Each language should be a proper translation with its own address, such as &lt;code&gt;/de/&lt;/code&gt; or &lt;code&gt;/fa/&lt;/code&gt;, so it can rank on Google in that market. Persian and Arabic need a true right-to-left layout, not a mirrored English page. With WordPress and WPML, every page, menu, property and article can be managed in several languages from one dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Fast on every phone
&lt;/h2&gt;

&lt;p&gt;Property websites are heavy by nature: hundreds of photos, maps, videos and search forms. Modern WebP images, lazy-loading, page caching, a CDN and removing scripts that a page does not need can make a rich property site fast without changing its look.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Contact on every listing
&lt;/h2&gt;

&lt;p&gt;When a buyer falls in love with a property, the next step should be one tap away. Put a WhatsApp button, a phone number and a short enquiry form on every listing, ideally with the property reference already filled in.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Content that answers buyers' questions
&lt;/h2&gt;

&lt;p&gt;How does the buying process work? Which area suits a family, a student or an investor? What do the legal steps involve? Area guides, a clear buying guide and regular blog articles answer these questions, build trust and bring in visitors from Google long before they are ready to call. Keep it accurate and up to date.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. SEO built in from the start
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Unique titles and descriptions for every property, area page and article&lt;/li&gt;
&lt;li&gt;Clean, readable addresses for each listing and each language&lt;/li&gt;
&lt;li&gt;Structured data and sitemaps for every language, for example with Rank Math&lt;/li&gt;
&lt;li&gt;Internal links between listings, area guides and articles&lt;/li&gt;
&lt;li&gt;A complete Google Business Profile and Bing Places listing for local search&lt;/li&gt;
&lt;li&gt;Google Search Console, to see how buyers find you and fix problems early&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  10. Trust, and a site that is easy to manage
&lt;/h2&gt;

&lt;p&gt;Clear company details, real photos of the team and office, honest reviews and simple privacy and legal pages all build confidence. Behind the scenes, the team should be able to add a new property, change a price or mark a home as sold in minutes. A WordPress real estate theme such as WPResidence, combined with Elementor, makes this straightforward, while regular updates, backups and security checks keep everything healthy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real estate website checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✔ A full page for every property, with status labels and a reference number&lt;/li&gt;
&lt;li&gt;✔ Large, fast-loading photo galleries and video tours&lt;/li&gt;
&lt;li&gt;✔ Search by city, type, price, bedrooms and status&lt;/li&gt;
&lt;li&gt;✔ An interactive map of your listings&lt;/li&gt;
&lt;li&gt;✔ Every language your buyers speak, with right-to-left where needed&lt;/li&gt;
&lt;li&gt;✔ Fast loading on phones&lt;/li&gt;
&lt;li&gt;✔ WhatsApp, phone and an enquiry form on every listing&lt;/li&gt;
&lt;li&gt;✔ Area guides, a buying guide and an active blog&lt;/li&gt;
&lt;li&gt;✔ SEO foundations in every language&lt;/li&gt;
&lt;li&gt;✔ Clear trust signals and an easy dashboard for the team&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This article was originally published on my website: &lt;a href="https://ehsanabedi.com/real-estate-website-design/" rel="noopener noreferrer"&gt;Real Estate Website Design: 10 Must-Have Features That Win Buyers&lt;/a&gt;. You can see these ideas in a real project in the &lt;a href="https://ehsanabedi.com/portfolio-archive/luxury-life-property-website/" rel="noopener noreferrer"&gt;Luxury Life Property case study&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>design</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>Flutter App Development: How an App Is Built, Step by Step</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Fri, 09 Oct 2026 20:36:34 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/flutter-app-development-how-an-app-is-built-step-by-step-49eo</link>
      <guid>https://dev.to/ehsanabedi_dev/flutter-app-development-how-an-app-is-built-step-by-step-49eo</guid>
      <description>&lt;p&gt;Flutter app development has changed what a small team can deliver. One developer, one codebase, and your app runs on Android and iPhone with the same polished design, the same features and the same release day. But a great app is not only about the framework. It is about the journey from a rough idea to an app your customers actually open every week.&lt;/p&gt;

&lt;p&gt;In this guide I walk through that journey step by step, the way I build apps with Flutter, and show where Flutter gives you a real advantage at each stage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6ykegw7pb9pygnoqet66.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6ykegw7pb9pygnoqet66.webp" alt="MacBook with Flutter code in VS Code next to an iPhone and an Android phone running the same real estate app" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Flutter, in one minute
&lt;/h2&gt;

&lt;p&gt;Flutter is Google's open-source framework for building apps from a single codebase. The code is written in Dart and compiled into native machine code, and Flutter draws every pixel of the interface with its own high-performance rendering engine. The result: one project that runs on Android and iOS, and can later grow to the web and desktop too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Shape the idea into a clear first version
&lt;/h2&gt;

&lt;p&gt;Every good app starts with one sentence: what problem does it solve, and for whom? From there we list every feature you dream of, then choose the few that truly matter for launch. This focused first release, often called an MVP, gets the app into real hands quickly so you can learn from real users instead of guessing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Flutter advantage:&lt;/strong&gt; because one codebase serves both platforms, you do not have to choose between Android and iPhone users for your first version. Everyone gets the app on the same day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Design screens people love to use
&lt;/h2&gt;

&lt;p&gt;Next come the user journeys and the screens: how someone signs up, finds what they need and completes the main action in as few taps as possible. A design is usually prepared in a tool such as Figma, with the brand colors, fonts and logo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Flutter advantage:&lt;/strong&gt; Flutter is not limited to the standard look of each platform. Custom animations, smooth transitions, branded buttons and unique layouts can be built exactly as designed, and they look the same on a budget Android phone and the newest iPhone. With Hot Reload, design changes appear in the running app in about a second.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: A solid architecture under the hood
&lt;/h2&gt;

&lt;p&gt;This is the part users never see, and the part that decides whether your app is easy or painful to grow. I organize Flutter projects with &lt;strong&gt;Clean Architecture&lt;/strong&gt;: the interface, the business rules and the data sources live in separate layers. State management with &lt;strong&gt;BLoC&lt;/strong&gt; or &lt;strong&gt;GetX&lt;/strong&gt; keeps the flow of data predictable, so a change in one screen does not quietly break another.&lt;/p&gt;

&lt;p&gt;A well-structured app is cheaper to maintain. New features take less time, bugs are easier to find, and a new developer can understand the code months or years later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Choose the right backend
&lt;/h2&gt;

&lt;p&gt;Most apps need a place to store users, orders, bookings or content. Flutter works smoothly with all the popular options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Firebase:&lt;/strong&gt; login, a real-time database, file storage, push notifications and crash reports from one Google platform. Great for getting started fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase:&lt;/strong&gt; a modern open-source option built on a PostgreSQL database, ideal when your data has clear relationships, such as customers, orders and products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PocketBase:&lt;/strong&gt; a lightweight backend you can host yourself, a good fit for smaller projects that want full control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An existing system:&lt;/strong&gt; if there is already a website, online shop or CRM, the app can connect to it through a REST API, so the data stays in one place.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 5: Build the features that make it useful
&lt;/h2&gt;

&lt;p&gt;Thanks to a large ecosystem of well-tested packages, common features do not have to be reinvented from zero:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sign-in with email, phone number, Google or Apple&lt;/li&gt;
&lt;li&gt;Push notifications for offers, reminders and order updates&lt;/li&gt;
&lt;li&gt;Maps, location and directions&lt;/li&gt;
&lt;li&gt;Online payments and in-app purchases&lt;/li&gt;
&lt;li&gt;Offline mode with local storage such as Hive or SQLite&lt;/li&gt;
&lt;li&gt;Camera, photo upload, QR codes and file sharing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Saving time on the standard pieces means more time for the features that make the app special.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Speak every language your users speak
&lt;/h2&gt;

&lt;p&gt;For businesses with international customers, multilingual support is not a bonus. Flutter has built-in localization: texts live in separate translation files, dates and numbers follow each language's format, and right-to-left languages such as Persian and Arabic automatically flip the layout in the right direction. Users notice immediately when a language feels like an afterthought.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Test on real phones, not only on a simulator
&lt;/h2&gt;

&lt;p&gt;Flutter supports three levels of automated testing: &lt;strong&gt;unit tests&lt;/strong&gt; for the business logic, &lt;strong&gt;widget tests&lt;/strong&gt; for individual screens and components, and &lt;strong&gt;integration tests&lt;/strong&gt; for complete journeys, such as signing up and placing an order. On top of that, nothing replaces trying the app on real Android phones and iPhones of different sizes, on a slow connection and with large system fonts. Flutter DevTools then helps find any screen that is not perfectly smooth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 8: Launch on Google Play and the App Store
&lt;/h2&gt;

&lt;p&gt;From the same Flutter project we create an Android App Bundle for Google Play and an iOS build for the App Store. Each store needs a polished listing: the app name, a clear description, screenshots, an icon, a privacy policy and age rating details. Apple reviews every app before it goes live, so preparing the listing carefully avoids delays.&lt;/p&gt;

&lt;p&gt;One important tip: publish the app with developer accounts in &lt;strong&gt;the client's own company name&lt;/strong&gt;. That way the app, its reviews and its users always belong to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 9: After launch, the real growth begins
&lt;/h2&gt;

&lt;p&gt;Launch day is a beginning, not an end. Analytics show which features people use, crash reports reveal problems before users complain, and feedback guides the next version. Android and iOS also release new versions every year, so regular updates keep the app secure and compatible. With one Flutter codebase, every improvement is built once and released to all users at the same time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flutter at every step: a quick summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;What Flutter makes easier&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Planning&lt;/td&gt;
&lt;td&gt;One first version for Android and iOS, launched on the same day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Design&lt;/td&gt;
&lt;td&gt;Pixel-perfect custom design and instant changes with Hot Reload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Architecture&lt;/td&gt;
&lt;td&gt;Clean, testable structure with BLoC or GetX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Ready connections to Firebase, Supabase, PocketBase or your own API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Features&lt;/td&gt;
&lt;td&gt;A large ecosystem of tested packages for common needs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Languages&lt;/td&gt;
&lt;td&gt;Built-in localization and automatic right-to-left layouts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing&lt;/td&gt;
&lt;td&gt;Unit, widget and integration tests in one toolkit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Launch and updates&lt;/td&gt;
&lt;td&gt;One codebase for both stores, every update built once&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;em&gt;This article was originally published on my website: &lt;a href="https://ehsanabedi.com/flutter-app-development/" rel="noopener noreferrer"&gt;Flutter App Development: How Your App Is Built, Step by Step&lt;/a&gt;. You can also browse my &lt;a href="https://ehsanabedi.com/works/" rel="noopener noreferrer"&gt;Flutter app concepts&lt;/a&gt; for real estate, restaurants, car rental, clinics and more.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How I Took a Multilingual WordPress Site to 90+ on Google PageSpeed</title>
      <dc:creator>Ehsan Abedi</dc:creator>
      <pubDate>Fri, 09 Oct 2026 20:22:28 +0000</pubDate>
      <link>https://dev.to/ehsanabedi_dev/how-i-took-a-multilingual-wordpress-site-to-90-on-google-pagespeed-3ha7</link>
      <guid>https://dev.to/ehsanabedi_dev/how-i-took-a-multilingual-wordpress-site-to-90-on-google-pagespeed-3ha7</guid>
      <description>&lt;p&gt;Speed is one of the first things visitors notice, and one of the things Google measures. But on a real business website, speed work is never only about a score. You also have to protect the design, the features and the brand experience the client loves. Here is how I improved the speed of a large, four-language WordPress website and reached &lt;strong&gt;90+ on Google PageSpeed for desktop&lt;/strong&gt;, without changing the look of the site.&lt;/p&gt;

&lt;h2&gt;
  
  
  The project: a luxury real estate website in four languages
&lt;/h2&gt;

&lt;p&gt;Since April 2026 I have been building and maintaining the website of &lt;strong&gt;Luxury Life Property Cyprus&lt;/strong&gt;, a real estate company in Famagusta, North Cyprus. It is not a simple brochure site:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It runs in &lt;strong&gt;four languages&lt;/strong&gt; (English, German, Turkish and Persian) with full right-to-left support for Persian, managed with &lt;strong&gt;WPML&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It is built with a real estate theme and &lt;strong&gt;Elementor&lt;/strong&gt;, with property listings, maps, search filters and a blog.&lt;/li&gt;
&lt;li&gt;It has a strong luxury identity: a hero video, elegant fonts, smooth animations and large, high-quality photos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this is great for the brand and heavy for performance. When I started, the homepage scored around &lt;strong&gt;51 on mobile and 81 on desktop&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fix4kqumahkti7itycc8s.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fix4kqumahkti7itycc8s.webp" alt="Fast luxury real estate website on a laptop and a smartphone" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Rule number one: the design is a red line
&lt;/h2&gt;

&lt;p&gt;The easiest way to get a perfect score is to remove videos, animations and fonts. That was not an option. The client's luxury look comes first, so every change had to be &lt;em&gt;invisible&lt;/em&gt; to visitors. Each step below was tested and compared before and after, and anything that changed the design was rolled back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Measure properly
&lt;/h2&gt;

&lt;p&gt;PageSpeed results can jump by 10 points or more between two runs of the same page. Instead of trusting a single test, I ran each test several times and used the &lt;strong&gt;median&lt;/strong&gt; score. This simple habit prevents a lot of wrong decisions: you know whether a change really helped or the score just moved by chance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Make sure caching really works
&lt;/h2&gt;

&lt;p&gt;The site uses &lt;strong&gt;LiteSpeed Cache&lt;/strong&gt;. During an audit I found that page caching was actually switched off, so every visit was building the page from scratch. Turning it on and verifying it for every language gave one of the biggest improvements of the whole project. Always check the basics first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: A CDN, configured carefully
&lt;/h2&gt;

&lt;p&gt;A CDN delivers files from servers close to each visitor. After enabling it, I noticed a subtle problem: the CDN could serve the mobile version of a page to desktop visitors and the other way round. I fixed how HTML pages are cached so each device always receives the right layout, and set up a routine to warm the cache after big updates so visitors never hit a slow, empty cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Self-hosted fonts and a lighter logo
&lt;/h2&gt;

&lt;p&gt;Loading fonts from external services adds extra connections before text can appear. I moved the fonts onto the website's own server, preloaded the important ones, and replaced a heavy logo file with a much lighter version that looks exactly the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: A "JavaScript diet"
&lt;/h2&gt;

&lt;p&gt;Themes and plugins often load scripts on every page, even where they are not used. I identified scripts that were not needed on specific pages and stopped loading them there. I also tested delaying all JavaScript, but it broke some interactive features, so I reverted it. Honest testing matters more than a quick win.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Smarter images
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Modern &lt;strong&gt;WebP&lt;/strong&gt; images in the right sizes for each screen&lt;/li&gt;
&lt;li&gt;The main hero image preloaded, so the most important picture appears first&lt;/li&gt;
&lt;li&gt;Lazy-loading for images further down the page&lt;/li&gt;
&lt;li&gt;A soft fade-in effect, so images appear elegantly instead of "line by line"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Desktop (homepage)&lt;/td&gt;
&lt;td&gt;~81&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;92–97&lt;/strong&gt; across languages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mobile (homepage)&lt;/td&gt;
&lt;td&gt;~51&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;up to 76&lt;/strong&gt; across languages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Design changes&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Mobile scores are naturally lower on a site with a hero video and rich animations, because PageSpeed tests on a simulated slow phone. The client made a clear choice to keep the luxury experience, and the site is still fast for real visitors on real devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons you can use on your own website
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Check the basics first (caching, CDN and image sizes) before touching anything complex.&lt;/li&gt;
&lt;li&gt;Always measure several times and compare medians, not single scores.&lt;/li&gt;
&lt;li&gt;Change one thing at a time, test it, and keep a backup so you can roll back.&lt;/li&gt;
&lt;li&gt;Speed should serve the business, not destroy the brand.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This article was originally published on my website: &lt;a href="https://ehsanabedi.com/wordpress-pagespeed-90-case-study/" rel="noopener noreferrer"&gt;How I Took a Multilingual WordPress Site to 90+ on Google PageSpeed&lt;/a&gt;. You can see the full project in my portfolio: &lt;a href="https://ehsanabedi.com/portfolio-archive/luxury-life-property-website/" rel="noopener noreferrer"&gt;Luxury Life Property, a 4-language real estate website&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>performance</category>
      <category>webdev</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
