Luxury Interior‑Design Software
Software stabilization and modernization for a luxury interior design company that improved website startup performance by more than 90%
ABOUT the project
- Client:
- Home‑Furnishings Retailer Company
- Location:
-
USA
|New York City
- Company Size:
- 51-200+ Employees
- Industry:
-
Retail
- Solution:
- Software Modernization
Services:
Technologies:
Leobit partnered with a New York–based luxury furniture and home décor retailer to stabilize and modernize its core software platform. This e‑commerce platform offers high‑end furniture, décor, and full interior design services. It combines a curated shopping experience with professional design tools, a trade program, and editorial content that reinforces the brand’s premium positioning. Leobit’s goal was to eliminate critical reliability issues, reduce infrastructure costs, and prepare the system for long-term growth.
We reduced deployment time from several hours to minutes and eliminated daily outages without pausing business operations. The key was taking a structured approach: stabilize first, modernize next, and automate wherever possible. That allowed the client to move forward without facing the risks typically associated with large-scale migrations.
Customer
Our customer is a New York–based luxury furniture and home decor company known for high‑end curated furniture, premium décor, and a strong online‑only business model. It has been on the market for more than a decade and, since its outset, has grown into one of the most recognizable U.S. luxury home‑decor brands.
Business Challenge
The customer’s platform was built on an outdated .NET Framework stack and relied heavily on legacy infrastructure and unsupported technologies. This made the system increasingly difficult and expensive to maintain. The application suffered from frequent outages, sometimes multiple times per day, which prevented employees from working. Deployments were fully manual, took hours to complete, and regularly caused website downtime. The system also carried significant technical debt, including outdated libraries, architectural antipatterns, and a complete lack of automated testing. All of this created both immediate operational risk and long-term scalability issues.
Why Leobit
Leobit was selected for its deep expertise in legacy system modernization, .NET migrations, and cloud infrastructure optimization. The team offered a pragmatic, step-by-step approach: stabilize first, then modernize, without disrupting business operations or risking extended downtime.
Project
in detail
The collaboration is centered around refactoring a legacy codebase, preparing the system for migration to .NET Core, and enhancing performance and maintainability, while also addressing UI/UX consistency issues across the platform.
When Leobit joined the project, the solution was so unstable that modernization could not begin immediately. The service crashed frequently and users were unable to rely on the system for daily work. Leobit started with a technical audit and focused on identifying the root causes of failures. The first phase of the project focused on stabilizing the existing platform. Once critical issues were resolved and the number of outages was reduced, the system became reliable enough to support further transformation.
Leobit introduced a clear and consistent environment strategy. We fully automated development and staging environments, while production deployments became semi-automated and controlled. This made versioning predictable and removed inconsistencies between environments. Previously, multiple staging environments could fall out of sync, leading to conflicts and production failures. The new strategy eliminated these risks and significantly improved release reliability.
At the start of the project, front-end developers were making live changes directly on virtual machines. This approach was risky and made collaboration difficult. Leobit introduced proper source control and modern development workflows. Thanks to it, front-end developers can work locally on their own machines. This improved development speed, reduced errors, and aligned front-end work with standard engineering practices.
Due to the legacy architecture, testing had never been properly implemented. Leobit began by introducing unit tests where feasible and built a Playwright proof of concept with working end-to-end tests. While the existing UI framework made large-scale test automation difficult, the proof of concept demonstrated clear value.
Leobit also conducted a QA audit, during which the QA lead worked closely with the customer’s QA team to identify pain points, define improvements, and agree on next steps for establishing proper testing processes. A future migration to a modern UI framework will significantly expand test coverage.
Migrating to a supported database instance immediately reduced infrastructure costs. In addition, Leobit created a long-term cloud cost optimization plan that is being implemented gradually as legacy dependencies are removed. This approach allows the customer to realize savings without disrupting ongoing development.
Years of growth had resulted in unstructured front-end assets that were difficult to manage. Leobit migrated a large portion of static content to a CDN, designed a new asset structure, and created dedicated storage buckets. The team also prepared internal guidelines on how to manage and use these assets. This brought structure to frontend development and improved long-term maintainability.
The legacy logging approach made it difficult to monitor and diagnose errors. Leobit introduced centralized logging using AWS CloudWatch, providing better visibility into system behavior. Caching was also unified and optimized. Previously, heavy queries populated the cache during application startup, slowing startup time to 20–30 seconds. After optimization, the application now starts in approximately 2 seconds. We also evaluated Redis caching, but postponed its implementation because optimized local caching proved more efficient (given the current front-end data access patterns).
Database and infrastructure migration
One of the most urgent challenges was the legacy database instance. The customer had attempted to migrate it independently but was unsuccessful. With AWS approaching an end-of-support deadline, there was a risk of an automatic forced upgrade, which could cause critical issues and website unavailability. Such an upgrade would have caused severe mapping issues and prolonged downtime.
Leobit resolved this by replacing the outdated Entity Framework mapping approach with a modern DbContext-based configuration. We defined Entity-to-table mappings directly in code to ensure compatibility with newer database versions. Once this foundation was in place, the team successfully migrated the database to a supported instance.
At the same time, Leobit migrated the infrastructure from Windows Server 2012 to Windows Server 2025. This eliminated dependency on unsupported systems and removed uncertainty around future infrastructure support.
CI/CD automation and deployment optimization
Before the engagement, all deployments were manual and were performed several times per day. Each deployment could take 2-3 hours and caused visible downtime, as the website had to restart after every release.
Leobit migrated the project from Bitbucket to GitHub to enable a modern CI/CD setup. Using GitHub Actions, the team built a deployment pipeline from scratch and optimized the deployment flow to eliminate unnecessary restarts. As a result, deployments became seamless and nearly invisible to users.
Thanks to it, we reduced deployment time to approximately 20 seconds. Thanks to it, the team no longer spends time on manual deployments, and release downtime has been effectively eliminated.
Centralized shipping logic
Shipping logic was previously scattered across multiple parts of the system, making updates difficult and error-prone. Changing shipping rates in one place required manual updates elsewhere, which significantly increased the risk of business errors. Leobit built a dedicated shipping service that centralized all shipping data and calculations in one place. Administrators can now manage shipping rules from a single interface, and changes automatically propagate across the platform. This reduced manual effort and eliminated inconsistencies in shipping cost calculations.
AWS optimization and asset migration
Leobit restructured the customer’s AWS setup to improve performance and reduce costs. We reconfigured databases, replication, and servers, and introduced automated creation of trimmed development databases. Our team also migrated more than one million images to Amazon S3 and served them through a CDN. Previously, the application repository contained hundreds of gigabytes of static files, making deployments slow and inefficient. By moving these assets to a CDN and removing unnecessary files from the repository, Leobit significantly reduced application size and deployment overhead.
Technology Solutions
- Migrated the database to a fully supported, modern instance before AWS end-of-support deadlines, avoiding forced upgrades and prolonged downtime.
- Upgraded infrastructure from Windows Server 2012 to Windows Server 2025.
- Reduced deployment time from several hours to approximately 20 seconds with near-zero downtime.
- Implemented CI/CD automation, which entirely removed manual deployment effort.
- Introduced structured development, staging, and production environments, significantly reducing release risks.
- Centralized shipping logic, reducing manual work and eliminating delivery cost calculation errors.
- Migrated over one million images to S3 and CDN, significantly reducing application size and deployment overhead.
- Improved monitoring and error visibility through centralized logging in AWS CloudWatch.
Value Delivered
- Reduced platform downtime from multiple outages per day to near-zero, with current downtime measured in seconds rather than minutes or hours.
- Improved application startup time from 20–30 seconds to approximately 2 seconds.
- Cut deployment time from 2–3 hours per release to approximately 20 seconds, representing a reduction of over 99%.
- Reduced application startup time from 20–30 seconds to approximately 2 seconds, improving startup performance by more than 90%.
- Reduced cloud infrastructure costs by migrating off unsupported services and implementing a long-term cost optimization plan.
- Saved several developer-hours per day by eliminating manual deployments and environment-related issues.