Generic Soft

Engineering teams built around your needs — from solo engineers to full-scale squads.

SOFTWARE DEVELOPMENT Custom Software Development Web Application Development Backend Development Frontend Development E-commerce Development MVP Development SaaS Development UX/UI Design AI & MOBILE Machine Learning Deep Learning Computer Vision Natural Language Processing Agentic AI LLM Integration iOS App Development Android App Development Cross-Platform App Development CLOUD, QA & DATA Cloud Migration Cloud Architecture DevOps & CI/CD Cybersecurity Software Testing & QA Automation Testing Business Intelligence Big Data CRM All Services → OUR PRODUCTS
MSGPLS Viber business messaging

Sell more in every chat Support that never sleeps Every delivery in the loop Campaigns people answer

Product offers, cart reminders and checkout — right inside Viber, where your customers already are.

Boost my sales
INSECTARIUM-X TRL 7 Automated Bio-Protection

Precise Microclimate Remote Control Full Traceability Autonomous Operation

Automated management of temperature, humidity, lighting, and ventilation for reliable breeding of beneficial bioagents.

Request a Demo

We've delivered 60+ projects across 11+ sectors. Experience in your industry? We have it.

Agriculture Banking Fintech Insurance Healthcare Real Estate Logistics IoT AI Cybersecurity Blockchain All Industries → Careers Technologies Our Work Blog
Case Study · Smart lockers · IoT

Velocity Smart.

A smart locker application running on a Raspberry Pi: a React front-end and Python back-end that control the locker's barcode scanner, RFID reader, camera, Modbus controllers and touchscreen.

Smart lockers · IoT
Client Velocity Smart Services Product Velocity Smart App Hardware Raspberry Pi smart locker Core stack React · Python · PyQt5
Client description

Smart lockers that make delivery effortless.

Smart lockers are designed to make the package delivery process more efficient and convenient for both businesses and customers. These lockers have integrated technology that automates package delivery, notification, and distribution, allowing customers to easily pick up their packages without having to wait in long lines or during specific hours of operation.

One example of a smart locker system is the Velocity Smart App, which provides clients with full control over the functionality of their smart lockers. The software includes a front-end that allows clients to make requests to the local and cloud back-end, as well as data visualization on the device. The local back-end is responsible for receiving commands and controlling peripheral devices such as Modbus, USB, and OS.

Customers appreciate smart lockers because they can easily access their packages at any time, without having to worry about missed deliveries or long wait times. Additionally, the process is completely end-to-end, allowing customers to "click and collect" their packages with minimal effort.

Peripheral devices Barcode scanner RFID reader Camera Modbus controller(s) Touchscreen display Raspberry Pi React front-end · Python local back-end
App features

Some of the Velocity Smart App’s features.

The ability to control serial and HID devices Control of Modbus TCP devices Control of USB video devices Control of OS configurations Remotely building, deploying, and updating the app
The challenge

One app to command every part of the locker.

Velocity Smart Services, a company that specializes in smart locker solutions, was in search of a long-term support and development partner who could assist with expanding applications for a variety of different smart locker configurations. Their initial request was to develop an application that would work on a Raspberry Pi device, which would be equipped with a barcode scanner, RFID reader, camera, Modbus controller(s), and a touchscreen display. The front-end application would be responsible for sending messages to the local back-end in order to command the various peripheral devices. These commands would include, but not be limited to:

01

Opening and closing the smart locker's door

02

Reading barcodes and RFID tags to identify packages and users

03

Capturing images of packages and users

04

Displaying information on the touchscreen display

05

Communication with the modbus controller to control and monitor the status of the smart locker

Key requirements

Small, fast and managed remotely.

The app would provide a user-friendly interface that allows customers to access their packages with ease and convenience, with minimal input required from the customer. The local back-end would then be responsible for receiving these commands and controlling the peripheral devices to execute them.

01

A very small memory footprint due to its usage on a Raspberry Pi device

02

Fast execution of tasks and great overall performance

03

The application, along with all necessary custom image installations, needed to be updated, installed, and managed remotely

The role of Generic Soft

Researched, built and deployed with the client's team.

Velocity Smart Services assigned Generic Soft to develop an application for one of their latest models. The project required extensive research and collaboration between the two teams to determine the most appropriate technologies to be used for the front-end and back-end development.

After thorough evaluation, it was decided that JavaScript with the React library would be used for the front-end and Python for the back-end. This combination of technologies was chosen for its efficiency, flexibility, and scalability.

Throughout the development process, the focus was on achieving maximum performance and minimal memory consumption. The team optimized the code and implemented various techniques to reduce the application's footprint, ensuring that it could run smoothly even on low-power devices.

JavaScript with React for the front-end, Python for the back-end

Front-end and back-end communicate through a web socket that runs on the localhost, ensuring fast and secure data transfer

A custom web browser developed on PyQt5 to render the front-end

Custom drivers for all peripheral devices including the modbus pmc/s, barcode reader, RFID reader, and camera device

An installation process for a fresh Ubuntu server image, done remotely via SaltStack

Results

Efficient, user-friendly and customizable.

After the first major deployment, Velocity Smart Services started testing the application on a test device at their site. They reported any issues and requested various features and improvements. Generic Soft managed to deliver all client requests in a timely and satisfactory manner.

What was delivered Maximum performance and minimal memory consumption Runs smoothly even on low-power devices Remote deployment on the client's own devices via SaltStack All client requests delivered in a timely and satisfactory manner

The final product was a highly efficient, user-friendly and customizable smart locker application that met all the client's requirements.

Tech stack

Built with

Front-end JavaScript React Back-end Python Rendering & communication PyQt5 custom browser WebSocket (localhost) Hardware Raspberry Pi Modbus Barcode & RFID Camera Deployment Ubuntu Server SaltStack

More case studies

View all work → See case study → Face2Face Field Sales See case study → Valtech See case study → Boiler Capital ML

Ready for results like Velocity Smart's? Discover if we're a good fit for you.

Case Study · {{ cs.industry }}

{{ cs.name }}.

{{ cs.summary }}

Co-funded by
the European Union
Programme
Competitiveness and Innovation
in Enterprises
{{ cs.industry }}
{{ x.k }}
{{ x.v }}
{{ s.eyebrow }}

{{ s.title }}

{{ p }}

{{ s.chatName }}
Chatbot on Viber
{{ c.t }}
Illustrative conversation
{{ s.macTitle }}
Portfolio value
{{ s.macValue }}
Live
{{ r.n }}{{ r.v }}{{ r.d }}
Illustrative interface
Whole house · now
{{ s.homeTotal }}
{{ p.l }}
{{ r.n }}{{ r.w }}
{{ m.k }}
{{ m.v }}
Illustrative dashboard
Sender
Sending
−€25.00
NFC
Receiver
Received
+€25.00
{{ t.t }}
Illustrative offline transfer
{{ s.panelTitle }}
{{ x.t }}
{{ s.panelHub }}
{{ s.panelHubSub }}
{{ t }}
{{ s.flowTitle }}
{{ x.t }}
{{ s.flowEngine }}
{{ s.flowEngineSub }}
ParameterPreviousCurrent
{{ r.p }}{{ r.a }}{{ r.b }}
Illustrative delta report
{{ s.eyebrow }}

{{ s.title }}

{{ s.intro }}

{{ c.n }}

{{ c.t }}

{{ s.eyebrow }}

{{ s.title }}

{{ p }}

{{ r.t }}

{{ s.eyebrow }}

{{ s.title }}

{{ s.intro }}

{{ m.v }}
{{ m.k }}
{{ c.name }}{{ c.count }}

{{ c.desc }}

{{ s.note }}

{{ s.eyebrow }}

{{ s.title }}

{{ ft.t }}
•{{ sb }}
{{ s.eyebrow }}

{{ s.title }}

{{ s.intro }}

{{ col.title }}
{{ o }}

{{ col.note }}

{{ s.closing }}

{{ s.eyebrow }}

{{ s.title }}

{{ s.intro }}

{{ s.quote }}

{{ s.by }}
{{ s.eyebrow }}

{{ s.title }}

{{ st.cat }}
{{ it }}
{{ m.value }}
{{ m.label }}
{{ b.eyebrow }}

{{ b.title }}

{{ b.p1 }}

{{ b.p2 }}

Outcomes

What changed for {{ cs.name }}

✓{{ o.text }}
“

{{ cs.quote }}

{{ cs.quoteBy }}
{{ cs.name }}
How we worked

From kickoff to production in four phases.

{{ ph.when }}
{{ ph.title }}

{{ ph.text }}

Ready for results like {{ cs.name }}'s? Discover if we're a good fit for you.