Platform

Multiple transfers at once and getting ready for mobile

As people used Free Transfer more often, one pattern became clear: they rarely wanted to send just a single file and then leave. Instead, they needed to run multiple transfers at once and to do so from laptops, tablets and phones. In this post we explain how we adapted the platform to support multiple simultaneous transfers and how we prepared the experience for mobile users while keeping private P2P file sharing and no file size limit intact.

Why multiple transfers matter

In a small test environment it is easy to imagine one sender and one receiver exchanging a single file. Real life is messier. Teams often exchange several assets in parallel: design files, screenshots, logs, video clips and documentation. Developers may send test builds while also receiving bug reports. Having to wait for one transfer to finish before starting another quickly becomes a bottleneck.

From a technical standpoint, supporting multiple transfers at once means being able to manage several rooms or sessions in parallel without confusing users. Free Transfer’s architecture, which separates signalling from file data and uses WebRTC channels, lends itself well to this model, but we still had to make explicit design and implementation choices to avoid unnecessary limits.

Designing the session model

Instead of treating each browser tab as a single hard‑wired session, we introduced a more flexible session model. Internally, the app can track several active or recent transfers, each with its own room identifier and progress state. On the front‑end, we added cues to help users understand which transfer they are looking at and what will happen if they start a new one.

The goal was to let people share files with different recipients without losing track of ongoing transfers. You can think of each transfer as a small, self‑contained conversation: "send this file to that person". The interface surfaces key information – such as progress bars and status messages – without overwhelming the page. This is particularly important on mobile screens, where space is limited.

Handling resource constraints

Running multiple transfers at once is not just a question of UI. Each P2P session consumes CPU, memory and bandwidth. To prevent a single device from becoming overloaded, we introduced guardrails in the client logic. For example, the app can limit how many large transfers are active concurrently and can adapt chunk sizes based on current conditions.

These safeguards help maintain a good experience when you transfer files repeatedly, especially on hardware with modest resources. Rather than trying to brute‑force as many transfers as possible, Free Transfer aims to keep a balance between responsiveness and throughput. Users still benefit from the no file size limit philosophy, but without accidentally saturating their machines.

Preparing the experience for mobile

Supporting multiple transfers would not be complete without considering mobile. Many users initiate or receive transfers on phones and tablets. We reviewed the entire flow – from selecting files to copying links – on touch devices. Buttons were resized, spacing was adjusted and drag‑and‑drop behaviours were complemented with clear tap targets.

This work laid the groundwork for the Android app and other mobile‑centric features. Whether you use the web client in a mobile browser or the dedicated app, you should be able to send files secure with a few taps. The multi‑transfer session model ensures that you can queue up additional files without losing track of what is already happening.

Keeping P2P and privacy non‑negotiable

Throughout these changes, we held on to core principles: files should still travel directly between browsers whenever possible, and we should not store file contents on our servers. Adding support for multiple transfers at once did not change this architecture. Each transfer is still a private file sharing session, isolated from others at the protocol level.

In practice, this means you can build complex workflows – sending several archives to different collaborators, for example – without changing your trust model. You still own your data, and Free Transfer still acts as a temporary bridge rather than a storage provider.