Serving medium size and large enterprises nationwide by building and customizing resources planning, consulting, customer management solutions. Research, design, development and support of bussiness information systems.

Author Archives: Ivan Dzhurkov

Navigating Complexity: Empowering Data-driven Decisions in Portfolio Management

February 20, 2024 6:06 pm


We’ve embarked on yet another project recently, one that poses our biggest challenge to date.
We have a long-standing client for whom we developed a web-based portfolio management system over 20 years ago. Since then, we’ve continuously improved and expanded its functionality by incorporating new modules, ETL processes to import data from external sources, and various types of reports and exports. Recently, the client presented us with an intriguing request.
The client emphasized the need for extensive flexibility across their portfolio management teams, including S&A, CFOs, and Fund Admins. They required seamless addition/removal of fields and enhanced data uploading capabilities. Additionally, they expressed interest in self-service business intelligence tools for end-users, such as PowerBI, MS Excel, and Tableau. Their objective was to empower users to manipulate existing data dynamically to address a wide array of inquiries pertinent to their areas of focus, aiding management and strategists in making well-informed decisions.
To accommodate these evolving needs, the client decided to democratize their data by establishing a Snowflake Enterprise Data Warehouse. One segment of this warehouse contains raw data synced daily from the legacy platform. We devised an ETL process to populate a newly defined database within the same warehouse, structured with facts and dimensions tables. The ultimate goal is to leverage the data from all client’s systems and bring it into the data warehouse allowing users to seamlessly combine and analyze information from various sources.
Within Azure Analytics Services, we defined an OLAP cube. This cube interfaces with data sources to process raw data, performing aggregations and calculations for associated measures. In the project’s initial phase, drawing from our legacy platform expertise, we aimed to define a comprehensive set of DAX expressions within the cube. These expressions would enable end-users to create reports using Excel independently.
A significant challenge arose from the legacy system’s heavy reliance on complex SQL Server stored procedures for reporting. We had to reimagine these processes within the cube’s star schema using DAX expressions. Similarly, the Finance Formulas engine built in the legacy system, which allowed users to define various financial formulas, posed a challenge. We had to replicate this functionality without stored procedures, opting instead for cube-based solutions.
As a proof of concept, we started with a simple task: creating an Excel report from the cube displaying Sales and EBITDA per portfolio company. This report offered filtering options by fund, with subtotals for each fund and the selected period.
Throughout the process, we iteratively improved the EDW structure and Cube definition. We gradually tackled more complex reports, incorporating additional filters, currency conversions, and IRR calculations. The journey was fraught with challenges, demanding continuous learning and problem-solving.
The outstanding performance and scalability of the AAS cube impressed everybody involved in this project. This new infrastructure delivers the results to the end user almost instantly while producing similar output in the legacy system using traditional relational database queries was few times slower.
We intend to share our experiences through a series of blog posts, detailing the significant challenges encountered and our solutions. Stay tuned for more insights.
By the conclusion of Phase I, we had developed a fully functional Cube with defined DAX expressions. The client successfully utilized it to recreate most reports from the legacy system in Excel, while also introducing new variations and details as needed.
Looking ahead to the next phase, our plans include further expanding the EDW structure, adding new DAX expressions to the Cube, migrating existing ETL processes from the legacy system, and integrating new ones from external data sources.

Connecting Property Asset Management with Guesty: A Successful Collaboration

February 9, 2024 4:50 pm


We recently took on a new and exciting challenge from a startup client that expanded our portfolio into the realms of Laravel (a PHP framework), MySQL, and the Guesty Open API. This client, a forward-thinking startup, had developed a groundbreaking platform for property asset management, opening up a world of possibilities for property owners. With this platform, users can effortlessly register and oversee all assets, whether owned or loaned, across their entire property portfolio. The comprehensive management suite encompasses asset and inventory management, warranty tracking, maintenance and service history, task scheduling and tracking, document management, and end-of-life alerts. Our innovative platform finds its ideal application in various sectors, including hotels, gyms, multi-family houses, apartment complexes, office and commercial buildings, churches, and residential properties.

Our mission was clear: help our client build an additional module that seamlessly integrates their system with Guesty ( Guesty, a powerful platform designed to supercharge hospitality operations, offers a range of features that simplify the management of rental properties. Property owners can now streamline their business operations, automation, and organization, all from a single platform.

The primary objective was to establish a robust connection between both platforms using Guesty’s Open API, which includes the following key features:

1. Properties Synchronization: This feature ensures that all properties registered for a particular user in Guesty are automatically transferred to their Property Assets Management system account.

2. Calendar Synchronization: With this functionality, users can view property booking dates in the Property Assets Management system’s calendar and efficiently plan service and maintenance schedules. Furthermore, any dates set in the calendar are synchronized back to Guesty, marking the property as unavailable for booking during those periods.

3. Messaging Integration: Guesty boasts an internal messaging system that allows guests to submit requests, complaints, and recommendations to property owners. We seamlessly integrated this system with the Property Assets Management platform, ensuring that messages could be handled appropriately.

In addition to these enhancements, we undertook several bug fixes and improvements to enhance the existing billing, invoicing, and internal messaging functionalities.

While delving into Laravel was a new experience for us, we quickly mastered it and successfully completed the project within the specified timeframe and budget. We found ourselves falling in love with the Laravel framework due to its simplicity, elegance, and remarkable power. It equips developers with all the necessary tools to construct robust and exceptional web applications.

If you have a Laravel project in need of professional assistance, please don’t hesitate to contact us. Our dedicated team is ready to bring your vision to life and exceed your expectations. Together, we can achieve greatness in web development.