Pool Director 3.0: swimming pool management app

Pool Director 3.0: swimming pool management app

Client: Limpid Pools. Pools Construction Company

The challenges:

  • Redesign the iOS app
  • Server load reduction

Monitoring and settings on one screen

Monitoring and settings on one screen

In the list of pools for each object there are available the status, name, address, air and water temperatures and a pool image.

On the screen of an individual object there is detailed information about the indicators and statuses of the appliance:
  • water and air temperature;
  • pH, Rx, CL parameters;
  • pump status;
  • water heating;
  • water supply status;
  • pool attractions status;
  • pool cover rollers status.

The user can display the desired parameters, go to the settings, including advanced for technicians, and request to contact technical support.


Users are able to set water temperatures manually or automatically, as well as control pool covers, attractions and lights and grant management rights to others.


Pool Profile

The profile is an important part of intuitive pool management and fast transfer of data to the service engineer. Here you can set up a picture of the object, enter its name, address, and name all of the attractions for each user to understand each pool feature.

Communication with the engineer, error notifications

The system sends push notifications of detected errors to the user and the service technician assigned to the object.

The user can request to contact technical support to ask a technician about the operation of the pool.

Communication with the engineer, error notifications


Spider Group has been accompanying Pool Director for many years. In designing the interface, we took into account the experience of using the app by the client and the customer. The pool screen became simpler, the most relevant functions and metrics appeared on it. The rest of the elements that pool owners use less often, moved to the settings.

The customer paid special attention to the appearance of the app, the relevance of its style. The quality of execution is illustrated by one detail: the ability to precisely crop the uploaded photos of swimming pools.

As a result, everything unnecessary was removed from the app, and it became more beautiful and useful.

Server load relief

We taught the system to work with Raspberry Pi computers as data gateways from pool controllers. This was required by the increase in the number of connected pools, due to which the response time from the server reached 10 seconds.

New gateways poll the controllers themselves and give the server only information about changes. The response speed has decreased several times.

Pool Director scale in key elements

  • Server with business logic and integration of all related systems
  • Admin Panel — Django web app for content and user management
  • SMS-gateway for sending authorization codes
  • Push service for notifications
  • Software for Raspberry Pi to poll controllers, take readings and send them to the server
  • Controllers of the automated system for pool management
  • iOS and Android mobile apps for users and engineers
  • Web-based advanced equipment status demonstration app for field engineers
  • Web dashboard with pool statuses for internal service

Development statistics

  • Analytics 37 hours
  • iOS 150 hours
  • Android 380 hours
  • Web 60 hours
  • Management 160 hours
  • Backend 330 hours
  • Design 245 hours
  • Testing 88 hours


  • Analyst 1
  • Designer 1
  • iOS developer 1
  • Backend developer 1
  • Q&A engineer 1
  • Manager 1
  • Backend:
  • Web Sockets
  • Modbus
  • Django
  • React
  • Redis
  • PostgreSQL
  • Nginx
  • iOS:
  • Architecture — MVVM
  • Programming Language — Swift
  • Push notifications — Firebase
  • Dependency development — native
  • Navigation — native
  • Map — Google Maps
  • Android:
  • Architecture — MVI
  • Programming Language — Kotlin
  • Push notifications — Firebase
  • Dependency implementation — Kodein
  • Navigation in the app — Cicerone
  • Map — Google Maps
1 / 1
Request for Mobile application