Dark Fox services

Backend, APIs and system integrations

We build web and mobile app backends: business logic, data structures and communication between systems. Laravel and PHP connect user interfaces to server-side processes.

REST APIs for web and mobile apps

An API defines the data and operations the backend exposes. We design mobile app ↔ API communication with data validation, authorisation and error handling.

In ZEiT, the Laravel backend supports the store, admin panel and Flutter API. This makes the mobile app part of the sales system, with data stored in PostgreSQL.

Business integrations and background tasks

We connect apps to external systems through APIs. The business process determines integration scope: which data is exchanged and when operations should run.

PostgreSQL provides persistent storage. We use Redis for caching or queues when work needs to run in the background. Redis queues are part of Spontan's backend.

Real-time communication

Not every feature should wait for a data refresh. In Spontan, Laravel Reverb supports real-time chat, connecting the backend to the Flutter app.

We use WebSockets for features needing live communication. Other operations can use REST APIs — the communication method follows the screen and process requirements.

When does an app need its own backend?

A backend is needed when data must be shared across devices, users, or web and mobile apps. Servers enforce roles and permissions, process integrations and run background operations. Real-time communication can complement this if the product requires it.

Not every app needs a custom backend. A tool operating only on a device may not need one, and an existing service may cover some requirements. Base the decision on the data model, access rules and integrations.

Developing and taking over an existing API

Before changes, we check API contracts and the app versions using them. The review covers authorisation, the database, queues, logs, monitoring and deployment. Changing a field or an error's meaning can affect an older app that users have not updated yet.

We agree on compatibility tests, deployment order and rollback. We introduce behaviour gradually, monitoring errors and response times, rather than assuming all API clients upgrade together.

Have a project to build?

Need a new API or changes to an existing backend? Describe the apps and integrations that will use it.

Let's talk about your project