Skip to content

The Jíme Brno App

from a Developer's Perspective

# Web Application

Con Gusto

2022

JimeBrno_Uvodka

The Con Gusto group, which owns several Brno restaurants, decided to launch its own delivery service Jíme Brno. They entrusted Cognito with the complete development of the web application for their exclusive delivery service, from implementation design to market launch. Alongside the delivery system, we were also tasked with building a management information system connected to Septim, the most widely used restaurant POS system.

Reference_JimeBrno

Technical analysis

and architecture design

Based on the user brief and technical analysis, we designed a system architecture composed of several standalone applications:

  1. E-shop interface for customers (www.jimebrno.cz), where customers can order food from Con Gusto's restaurants. The solution also includes content and menu administration for the restaurants.
  2. Tablet-optimized dashboard in individual restaurants for managing incoming orders.
  3. Delivery operator dashboard - real-time overview of orders and courier locations.
  4. Mobile app for couriers.
  5. Management information system.

Technicka_JimeBrno

Technology

stack

At Cognito, we specialize in web application development in PHP and Symfony Framework. We have large e-shops and SaaS applications running on this platform, so the technology choice was a no-brainer. We worked in a small team and chose the monolith approach with logically separated code for each application to maximize development speed.

For data storage, we used PostgreSQL accessed via Doctrine ORM and DBAL, with Redis for caching.

Snímek obrazovky 2026-03-24 v 14.37.22

Frontend

and mobile app

For users, we generate server-side templates in Twig and use Vanilla JavaScript with the Stimulus library for browser-side interactivity.

The courier mobile app is built on cross-platform React Native, communicating with the server via REST using ApiPlatform.

All of this is complemented by our in-house CMS Winston for content management and the Marco e-commerce platform.

Mapa_JimeBrno

Iterative

development process

Our standard workflow includes requirements gathering by the account manager and UX designer, creation of an interactive prototype, UI design after prototype approval, and handoff to the frontend developer.

Meanwhile, the backend team prepares the data architecture. Development runs in 14-day sprints with testing cycles. Each sprint is followed by approval or adjustments for the next iteration.

Performance tuning continued for another week after launch, because testing real-world operations with moving couriers and continuous orders is practically impossible in a simulated environment.

Chat_JimeBrno

Fun fact

to wrap up

What initially looks like a few lines of code but ends up taking the entire team days of work:

Sound notifications on restaurant tablets  the iOS platform completely ignored audio output on iPads. The solution was push notifications via an external service.

Delivery addresses each restaurant has its own delivery zones affecting shipping cost and minimum order. Google Maps autocomplete proved unusable in the Czech Republic due to outdated addresses, so we integrated Smartform.cz with its relevant address database and handle distance calculations via Google Distance Matrix API.

Our approach

From brief through architecture design to launching the delivery service. Complete development of 5 interconnected applications in one ecosystem.

1

Analysis & architecture design

Based on the brief and technical analysis, we designed an architecture of 5 standalone applications on a shared Symfony monolith with logically separated code.
2

UX prototyp a UI design

The account manager and UX designer gathered requirements and created an interactive prototype. After approval, the UI designer delivered final screens and the dev team kicked off implementation.
3

Development in 2-week sprints

The backend built the data architecture. Development proceeded iteratively in two-week sprints with testing cycles and regular client demos.
4

Integration and troubleshooting

We tackled audio notifications on iPads (push via external service), inaccurate addresses (SmartForm integration), and delivery zone calculations (Google Distance Matrix API).
5

Launch and performance tuning

After launch, performance tuning continued for another week, because real-world operations with moving couriers brought edge cases that staging couldn't replicate.
PHP
PHP
Symfony
Symfony
Postgresql_elephant 1
PostgreSQL
Redis
Redis
React
React Native

Technology stack

The Jíme Brno system is built on PHP and the Symfony framework with a PostgreSQL database and Redis caching. The mobile app uses React Native.

Services and products

we delivered

Have a project or an idea? Schedule a free consultation and find out how we can help.

The Cognizance Blog Honest developer insights

Not enough? We have more