Lead Full-Stack & AI Engineer · 2026
Miftah
A real estate marketplace — مفتاح means key.
- Rust
- Flutter
- Claude API
- actix-web
- MySQL
- OpenStreetMap

The problem
People looking for property in Lebanon need one trustworthy place to search in their own language and follow up with the seller.
What I built
A bilingual Arabic and English property marketplace: an app for the web and phones, public listing pages, and an operations console for the company's team. Buyers search listings and book viewings, sellers and brokers publish and manage their properties, and the team handles verification, enquiries, deals and commissions. Listings from unverified sellers stay hidden from buyers.
- Search with filters for price, city, installments and features like a garden or parking, in a list or a grid
- Map search with price pins
- Property pages with photos, key facts, favourites, sharing and a viewing request
- Book a viewing: request, confirm, cancel and rate how it went
- Share any listing as an image card with its photo, price and a QR code, in Arabic or English
- Public listing, city and broker pages that search engines can read
- Seller and broker sign-up with ID upload, and a four-step listing wizard with up to eight photos and a map pin
- Listing performance for sellers: views, enquiries and favourites, not counting bots or their own visits
- An operations console with daily work queues, an enquiry call centre, seller verification, deals and commissions, and accounting
- Arabic and English throughout, with a full right-to-left layout
The AI inside
Sixteen AI features run on Anthropic's Claude. Buyers can search in plain words, like "villa in Beirut under 200k", in Arabic or English, and chat with an assistant that answers only with real listings. Sellers get help writing listing descriptions in both languages, tagging photos and improving their listings. The team gets a daily brief, scored enquiries and draft replies. Clear rules keep it honest: the AI is instructed never to recommend or predict a price, never to tell anyone which property to buy and never to invent facts about a listing. A monthly spending cap, a log of every AI call and a non-AI fallback for every feature keep it reliable.
Results
- Live on the web, with a mobile app
- Four kinds of users on one platform: buyers, sellers, brokers and the operations team
- Sixteen AI features, each with a fallback so the platform keeps working if the AI is unavailable
- Listings from unverified sellers never reach buyers
Screens
Show larger: Property search in the Miftah app on a phone: an "Ask in your words" AI search box, a regular search bar, type and city filters, feature tags such as Garden and Parking, and the price filter open with four price ranges above the list of results.
Show larger: A property's detail screen in the Miftah app: a large photo with back, save and share buttons, the title, location and price, cards for property type, building age, status and city, then the description and a photo gallery.
Show larger: The Miftah app's home screen in Arabic, laid out right to left: the current location (Lebanon), a featured-properties carousel, a special-offers section, an "Ask the assistant" button and the bottom navigation bar.
Show larger: A public search-results page on a phone under the Miftah header: three properties in Beirut, each with a photo, price, title and property type.
What I was responsible for
- Product planning: scoping the rebrand to Miftah and prioritising buyer, seller, broker and operations features
- Architecture: the Rust API with MySQL, the Flutter app for phones and the web, the operations console and the public pages
- Backend: listings, search and filters, map search, viewings, buyer accounts, deals and commissions, disputes and accounting
- AI integration: one AI client with a spending cap, usage logging, caching, rate limits and fallbacks, and 16 AI features with guardrails
- The app: Flutter screens in Arabic and English with a right-to-left layout
- The operations console: daily queues, enquiries call centre, verifications, deals, revenue and accounting
- Search engines and sharing: public listing, city and broker pages, sitemap, and share images with QR codes
- Security: role-based access, strong password hashing, rate limiting, an audit log and locked-down services
- Testing: server unit and integration tests, API smoke tests, a pre-deploy acceptance script and app integration tests
- Deployment and operations: automated builds, production rollout and rollback, monitoring, backups and scheduled security checks
