Backend Software Engineer — Applied ML & LLM Systems
About the role
About Dwelly
Dwelly — a UK-based, AI-enabled lettings and property management platform, that is growing through a roll-up strategy acquiring estate agencies. The company leverages two arms: i) acquiring existing letting agencies, effectively buying its highly sticky, recurring revenue-type landlords portfolios, and then ii) building a top-notch technology to automate tenant management, payments, and post-rental property maintenance. The company seamlessly integrates AI services to automate all business processes within brick-and-mortar real estate agencies, integrating them into a tech-enabled digital letting platform in two months to radically improve the user experiences and increase efficiency of the business.
We’re a fast-growing, product-focused company, backed by top-tier investors and led by a team with deep experience in real estate, technology, and operations.
Position Summary
We are looking for a Backend Engineer with strong applied ML experience to build production systems that extract, enrich, summarise and structure information from emails, documents and other unstructured data.
This is not a pure data science or research role. It is a production engineering role focused on building reliable Python backend services around NLP, retrieval and LLM-powered workflows.
You will work on practical problems such as extracting useful information from email correspondence during agency migrations and summarising a client’s full communication history inside their Dwelly profile.
The right person is comfortable working with messy real-world data, taking prototypes into production, measuring quality and improving systems through evaluation and feedback loops.
What You’ll Do
- Build systems that extract structured data from emails, documents and other unstructured sources.
- Enrich migrated client, landlord, tenant and property records with useful information from communication history.
- Develop solutions that summarise a client’s full email history and surface the most relevant context inside Dwelly.
- Build production NLP / ML-backed backend services that work reliably on messy real-world data.
- Improve retrieval and ranking systems using approaches such as RAG, BM25, embeddings, hybrid search and reranking.
- Define quality metrics, evaluation datasets and feedback loops for extraction, summarisation and retrieval systems.
- Build Python backend services and APIs using frameworks such as FastAPI, Django, Flask or similar.
- Integrate ML and LLM workflows into production systems with clear error handling, observability and maintainability.
- Work closely with engineering, product and operations teams to turn real business problems into scalable automation systems.
What We’re Looking For
- Strong Python backend engineering experience.
- Experience with API frameworks such as FastAPI, Django, Flask or similar.
- Production experience with NLP, ML, information extraction, retrieval, ranking or summarisation systems.
- Ability to take research ideas or prototypes into production.
- Strong understanding of evaluation, metrics and quality measurement for ML / LLM systems.
- Practical experience with retrieval systems such as RAG, BM25, embeddings, hybrid search or reranking.
- Comfortable working with messy, ambiguous or incomplete real-world data.
- Ability to build reliable services around ML workflows, including monitoring, testing and failure handling.
- Good understanding of LLM limitations, hallucination risks and safe user-facing AI.
- Strong ownership mindset and ability to work independently in ambiguous product areas.
Nice to Have
- Experience building AI or LLM agents.
- Experience with document understandin