Project Screenshot

Radonmeters

A Danish online business offering full-cycle indoor radon measurement services

  • Idea

    Bjørn Dissing, the owner of Radonmeters.com, asked SteelKiwi to fully upgrade his online business. Radonmeters.com offers everything needed for indoor radon measurements, selling radon meters and providing full-cycle support for them including laboratory analysis and reports.

     

    Our list of tasks for this project consisted in creating a new design, developing a new backend, adding more features, fixing some old features, and developing an Android mobile app for in-store device stock management.

  • Analysis

    Radon is a radioactive gas that’s formed as a result of the natural decay of uranium in soil and rock. It has no odor, color, or taste. Radon enters buildings from the ground through cracks and other openings. Once in the air, radon elements gain electric charge and attach themselves to aerosols, dust, and other particles that people then breathe in. Long-term exposure to radon increases the risk of lung cancer by about 16% per 100 Bq/m3 (2702.7 pCi/L).

     

    In Denmark, about 65,000 houses exceed the highest recommended action level of 200 Bq/m3 (5405.4 pCi/L). Another 5,000 houses have action levels higher than 400 Bq/m3 (10810.8 pCi/L).  A similar situation is observed in all Nordic countries except for Iceland, whose geology prevents radon from leaking into the air. Hence, regular radon measurements are important for residents of Denmark, Norway, Finland, and Sweden.

User Roles

icon
Platform manager

The platform manager can add orders, generate reports, make calculations, and generate invoices for clients. The admin panel lets the platform manager monitor the number of devices in stock and scan radon meters to change their statuses to sold, to the lab, or for disposal.

icon
Customer

Customers can buy devices and create personal accounts for tracking order statuses and downloading reports on radon levels. Customers can chat with Radonmeters representatives on the site and subscribe to the newsletter to receive important store news and updates by email.

Results

Duration:
August 30, 2017 – December 6, 2017
Team:
UI - 1 UX - 1 Backend - 2 Frontend - 1 Android - 1 QA - 1 DevOps - 2 PM - 1
Designed the UI/UX

Our task was to upgrade the original Radonmeters website design. Our client wanted us to make it modern and attractive, but most of all he wanted it to reflect the importance of timely radon detection. We designed a website that’s both beautiful and upfront about its purpose.

The vast majority of our UX work focused on improving usability. We wanted to cut the time it takes users to get to checkout. To achieve this, we redesigned the user flow, improving each step from entering the store to buying a device.

Developed the frontend

To create the Randometers frontend, we worked with Django Oscar templates. We used jQuery as the main framework. Gulp.js, Sass, and Rollup.js collect static data. We created some separate components that involve dynamic elements with Vue.js. We also worked with the Google Maps JavaScript API to calculate coordinates. The Zendesk API sends custom requests, and the Stripe JavaScript API ensures that users’ credit card information is collected securely.

Developed the backend

The Radonmeters.com website is written in Python 3.6 and based on the Django Oscar library. As it’s an online store, we integrated Stripe for payment processing. We chose PostgreSQL as the database, Celery for scheduling, and Redis for distributed in-memory key-value storage.

Created an Android application

We developed a separate mobile application for Radonmeters store administrators that works as part of their enterprise resource planning (ERP) system. The app lets administrators monitor the quantity of devices in stock and scan meters to change their statuses: sold, to the lab, for disposal, etc.

The Radonmeters application is written for Android in Java. We chose the Model-View-Presenter (MVP) architecture, which helped us achieve a clean and flexible structure. With the MVP architecture, it’s easy to fix things and add new features, which is important for a developing business.

For the REST API connection, we decided to go with the reliable RxJava and Retrofit combination. For scanning barcodes, we used the ZXing Android Embedded library. We integrated RxPermissions to ensure the app gets permissions from users. Hawk stores values. We also added the EventBus and RxAndroid support libraries.

Implemented features

Each registered customer has their own personal cabinet on Radonmeters.com where they can track order statuses plus read and download reports on radon levels. There’s also a notification system to alert customers about in-store events.

To make sure that users know what radon is and how they should deal with it, we filled the Radonmeters website with a lot of educational information. Diagrams show typical ways in which radon gets into buildings. We also added tables to help customers decipher radon meter measurements and a manual for understanding lab reports.

Users can subscribe to the Radonmeters.com newsletter to receive important store news and updates by email.

We implemented a flexible system of discounts based on the number of devices a customer buys.

We integrated online chat so users can contact Radonmeters representatives at any time.
 

We implemented a simple ERP system that lets Radonmeters provide full-cycle radon measurement support. Without this ERP system, it would be difficult to properly manage all in-store operations. Here’s how the the full service cycle looks:

  1. a customer purchases a radon meter and uses it according to the instructions;

  2. the customer sends the used radon meter back to the store;

  3. a store manager uses the Android app to mark it to the lab;

  4. the radon meter goes to the lab, where its measurements are analyzed;

  5. a detailed report of the analysis is formed and uploaded to the customer’s personal cabinet;

  6. the radon meter is disposed of.

Devices are marked with the Radonmeters Android app and registered in the database each step of the way.

Technology Stack

Python icon
Python
Django Oscar icon
Django Oscar
Java icon
Java
Stripe icon
Stripe