Truhoo
An all-in-one real estate platform
for the Spanish housing market
16+ specialists
September 2019 - present
Barcelona, Spain

Business context
Our client is an entrepreneur who has held multiple positions in marketing and sales. Before working with us on Truhoo, he worked on multiple successful online projects. At the beginning of 2019, he decided to start a new project for the Spanish real estate market, attained investment, and chose Yalantis to implement the concept. The project is geared to easily scale across multiple countries when the time is right.
Business challenges
Identify particularities of and possible risks for the multiplatform end-to-end solution
Meet the budget and deadlines while building a feature-rich MVP
Manage several groups of external stakeholders engaged in project implementation
Client’s video testimonial
Product details
The first product version included all core functionality and ensured advanced user protection from scams.
3D tours
Truhoo 3D tours display floor plans and 3D property models. Moreover, users can record virtual tours with audio narration to give context to potential buyers and tenants.

Advanced property search
Easy-to-configure search allows users to apply over 50 filters that look both inside and out of the property. Prioritization and get relevant search results with no duplicate results thanks to synonym support and autocomplete.

Optimized media service
The platform is capable of simultaneously uploading up to 50 images each up to 20 MB in size for any real estate listing thanks to an optimized media service.

Protection from scams
To protect users from scams, we validate every agency before registering it on the platform. Cadastral numbers are also used to validate information accuracy.

Multi-language support
Spanish- and English-speaking users have access to all information in their native language, which simplifies the process of buying, selling, and renting properties.

Advanced property search
Easy-to-configure search allows users to apply over 50 filters that consider both characteristics of a property and its surrounding environment. Users get prioritized and relevant search results with no duplicates thanks to synonym support and autocomplete.



Protection from scams
To protect users from scams, we validate every agency before registering it on the platform. Cadastral numbers are also used to validate information accuracy.
Multi-language support
Spanish- and English-speaking users have access to all information in their native language, which simplifies the process of buying, selling, and renting properties.

Optimized media service
The platform is capable of simultaneously uploading up to 50 images each up to 20 MB in size for any real estate listing thanks to an optimized media service.

3D tours
Truhoo 3D tours display floor plans and 3D property models. Moreover, users can record virtual tours with audio narration to give context to potential buyers and tenants.
Solutions to our client’s business challenges
01 Our approach to solution design
For multiplatform end-to-end solutions like Truhoo, we use an approach that helps us identify the project’s particularities and possible risks at the very start. This approach is especially relevant for projects with budget and time constraints. It includes:

Collecting requirements from the client and external stakeholders (branding agency, SEO company, lawyers, and more)
Market research facilitated by subject experts’ input
Prioritizing requirements based on information collected
Designing the product based on common behavioral patterns among users of similar services
Building a solution architecture tailored to the project requirements
Requirements elicitation and prioritization
Our business analysts follow our standard framework for eliciting initial requirements. This process includes gathering, discovering, extracting, and identifying business, user, functional, and nonfunctional requirements.
Artifacts that helped us establish effective communication for this project included:
A stakeholder register
Responsibility assignments
A communication plan with times when stakeholders were available and established communication channels
We also created:
A product vision board that described the purpose of the product
A value stream to understand the scope of work
A business objective model that helped us select in-scope features
Market research to identify market particularities
Along with working with our client’s initial requirements, we conducted competitor analysis of top Spanish and global real estate platforms. This helped us identify common difficulties experienced by users. To analyze these difficulties and find solutions to them, we:
Performed a heuristic evaluation to check the usability of and identify flaws in competitors’ platforms
Conducted overall usability analysis to estimate how easy and effective it was for users to interact with competitors’ platforms
Made sure the product would comply with Web Content Accessibility Guidelines to make our solution accessible for all users, including those with disabilities
Involvement of a subject matter expert
To better understand the product’s users, we worked with a real estate agent to validate details of their work and examine the software they used.
Based on our findings, we changed the project requirements as follows:
Postponed the creation of a messaging center for communication between agents and customers until a future release, as users more commonly communicate outside the platform
Avoided duplicating CRM system functionality for agents, as they use different platforms and are accustomed to tracking leads in their own CRMs
Shifted the focus from exclusively satisfying agents’ needs to satisfying property seekers’ needs as well, as property seekers are key to the platform’s success.
Market research helped us prioritize and split all planned implementations among product releases. The most essential functionality was included in the MVP to meet the business needs, strict deadline, and budget.
The UI/UX
For the product’s UI/UX, market research helped us:
Create a mind map that described the architecture and visualized connections, scenarios, and decision points
Simplify and shorten the user flow through implementing common real estate user patterns and minimizing clicks
Ensure brand identity and a common user experience for both the web and mobile versions of the product



Solution architecture
As a result of requirements processing, market analysis, and the need to meet time and budget constraints, we identified the following architectural requirements:
Build a scalable and robust system
Ensure cost efficiency of our infrastructure and third-party integrations
Enable the system to process and store huge volumes of media data (images, 3D tours, etc.)
Provide out-of-the-box localization support for all system components
Integrate with a mapping service and payment system
Allow for fast and smooth search and filtration by any number of criteria
Implement centralized logging and monitoring of hardware, application, and business metrics (based on these metrics, we chose the main places of conversion to monitor and added analytics functionality there)
The architectural solution we chose for the project is characterized by the following attributes:
A modern microservice architecture
A cloud-based server-side architecture built on the principles of security, scalability, modularity, ease of functional expansion, and maintainability
Centralized data persistence with master read-only replication, which ensures high availability and failure tolerance
The ability to process geodata within the database
A fault-tolerant key-value store managed by AWS for temporary data like access tokens and request counters
A single entry point for any type of client (web, iOS, Android)
Reusable REST API endpoints for any type of client
Asynchronous interconnection between system components whenever possible, as required by the microservice architecture and large volumes of data
We also decided to use the following tools and third-party services:
EyeSpy360 to implement a 3D tour feature
Elasticsearch to provide users with flexible search
AWS Lambda to optimize the media service
Elnforma for real estate agency background checks
Tiny Translator Tool to ensure multi-language support
Solution architecture for a Spanish real estate platform
This solution architecture helped to ensure cost-effective development, platform scalability, high-load media capabilities, flexible search, must-have integrations, and more. To see an example of such an architecture, please enter your email address, and we'll send you the template straight to your inbox.
02 Meeting the budget and deadlines while building a feature rich MVP
This project had strict budget and time constraints. Our client had attracted investors who allocated a limited amount of funds for platform development. They also required the project to go into production by fall 2020. To remain within the budget and deadlines, we used several project management techniques. COVID-19 forced some unavoidable business changes, but none resulted from missed development deadlines.
Estimating the project
Our established framework for project estimation helps us measure the use of project resources to meet budget and time restrictions. By using three techniques, we were able to effectively manage the project’s time and budget:
1. Parametric estimation
We use this type of estimation when the scope to estimate is huge but we still need to determine the project’s duration and cost. During project implementation, we made two parametric estimates by first estimating 30 and then 70 percent of the scope. The first estimate varied just 11 percent from the second, which 100 percent coincided with the final estimate.
2. Budget spending estimation
We needed to forecast the amount of money that would actually be spent. To do this, we made Estimate At Completion (EAC) and Estimate To Complete (ETC) calculations using the current indicators. These calculations became part of the project plan and the client’s sprint report to plan the budget.
3. Estimation based on the UX
We were responsible for the entire UX of the app. The branding agency from the client’s side had to provide us with a logo and a general UI concept. To speed up development while waiting for the UI concept, we estimated the cost of UX development and added 25 percent, as this is the average UI cost based on historical data from our past projects.
Project management practices that helped us manage the time and budget
The following project management practices along with the use of ready-made software solutions helped us speed up project implementation and save money.
Risk assessment sessions
To get a better picture of risks, we conducted risk sessions. They helped us identify and prioritize all possible risks, such as the risk that a third-party tool wouldn’t work as expected, and find ways to prevent them.
Fast sprint planning
Our project manager took the following steps to ensure fast sprint planning:
Prepared the team’s capacity for each sprint
Created a list of user stories with high case estimates
Collected all unfixed bugs and uncompleted user stories left from the previous sprint
Validated the sprint plan with a business analyst to save time during the sprint planning meeting
Shared, validated, and adjusted the plan with the team
As a result, sprint planning meetings became four times shorter while providing the same effectiveness.
Parallelizing development processes
To meet the client’s desired completion date and also have a realistic vision of the project, we used a fast tracking technique. It allowed us to ensure different activities were completed in parallel instead of in series.
Measuring project performance
We constantly measured the project performance against the scope, time, and cost to identify potential deviations from the baseline and fix them. Our project manager used a project performance chart showing the interactions of two key project metrics: the Cost Performance Index (CPI) and Schedule Performance Index (SPI). Sharing this information with the client and team helped us ensure high stakeholder involvement and awareness.
03 Managing several groups of external participants
During development, we cooperated with five groups of external participants, namely the client’s branding agency, real estate agents, a SEO company, lawyers, and translators. We needed to establish smooth communication with them.
We compared our roadmap with the schedules of external participants and identified dependencies and potential blockers. Then we aligned our schedules and established work expectations. We sent external participants constant meeting follow-ups and ensured transparent activity tracking.
SEO optimization
Our client wanted to ensure a fast influx of users to the platform to gauge its benefits. We consulted an SEO company, followed their recommendations, and used SEO-friendly technologies.
1. Angular Universal
We used Angular Universal, as it allows for uploading page content on the server side so that an SEO bot can see it.
2. URL building approach
SEO specialists required us to avoid query parameters in URLs while using search filters. We followed the URL parsing mechanism to implement the required type of URLs.
3. Metadata
We ensured that while sharing links, an image and description were automatically represented. We achieved this by implementing open graph meta tags for all of the platform’s pages.
4. Robots.txt.
Pages not for indexing have to be written in the robots.txt file and have to contain a specific tag that also tells the search engine crawler not to index the page. We implemented a parsing mechanism that, in response to receiving the robots.txt file, sees pages that are not to be indexed and puts this tag in them.
5. Dynamic XML sitemap
We made the sitemap dynamic. It’s up-to-date, properly reflects the state of the site, and is generated fast to be read by search engines.

GDPR compliance
As we were creating an online service for the EU market, we needed to ensure GDPR compliance. We consulted with our client’s lawyers, who reviewed and supplemented our GDPR requirements. We then implemented all requirements on the platform.
1. We ensured active consent for Terms of Service and the Privacy Policy when registering and re-consent if terms are changed.
2. All legal documents have versioning and can be edited from the admin panel.
3. The Terms of Service, Privacy Policy, Listings Policy, and Cookie Policy are published on the website with the ability to print or save each document as a PDF file.
4. A user can subscribe to and unsubscribe from commercial communication.
5. A user can request their account be removed.
Project results
The released parts of the project were 10 percent under budget, and the project went into production in August 2020, as was required by the client. The developed MVP is:

Ready for marketing activities and SEO-friendly
Filled with sophisticated features that satisfy users’ needs
More user-friendly and faster than competitors’ platforms
In full compliance with the law and protects users from scams
Collecting the first real user feedback, which is being used to polish the service
Currently, we’re continuing to develop and support the platform. This includes implementing new functionality, processing feedback, refactoring, and fixing bugs.