VRB Tech
/
Назад до блогу

Як ми будували Flashback: інженерія кастомної камери, яку обрала FC Barcelona Femení

DIANA
DIANA

Jul 16, 2026

Як ми будували Flashback: інженерія кастомної камери, яку обрала FC Barcelona Femení

Уяви камеру, яка навмисно не показує тобі фото одразу. Ти знімаєш кадр, а бачиш його тільки через 24 години — точнісінько як колись чекали, поки плівку віддрукують у фотоательє. Це і є Flashback: фізична камера на 27 кадрів (рівно як плівкова котушка) плюс застосунок, який тримає інтригу цілу добу. Продукт настільки влучив у нерв ностальгії за аналоговою фотографією, що ним у своєму контенті користується навіть жіноча команда FC Barcelona.Ми долучились до Flashback, коли застосунок уже жив в App Store. Задача звучала просто: «довести продукт до ладу й розвивати далі». На практиці за цим ховалось кілька інженерних головоломок, які прямо впливали на те, чи продукт узагалі тримає свою головну обіцянку.

Камера, яка не завжди слухалась

Перше, з чим ми зіткнулись — інтеграція з камерою пристрою поводилась непередбачувано. Зйомка, фільтри, збереження кадру — все це мало спрацьовувати однаково незалежно від телефона й ситуації. Але частина сценаріїв ламалась: то кадр не зберігався, то фільтр застосовувався криво. Для застосунку, чия єдина функція — зробити фото й не втратити його, це критично. Ми перебудували взаємодію з Camera API, закривши edge-кейси один за одним, поки основний флоу не почав працювати однаково стабільно завжди.

Головна фішка продукту сиділа на крихкій синхронізації

Затримка в 24 години — це не побічний ефект, а весь сенс Flashback. І саме тут була найвразливіша точка: стан «коли кадр можна відкрити» синхронізувався між застосунком і Firebase не завжди чисто. Фото могло з'явитись зарано, запізно або взагалі загубитись у процесі. Ми зробили так, щоб таймер завантаження був надійно прив'язаний до Firebase і кадр ставав видимим рівно тоді, коли обіцяно — без винятків і без ручного втручання розробників.

Слабкі телефони не витримували великих фото

Фото в оригінальній якості — це важкі файли. На флагманах усе працювало гладко, а от на слабших пристроях застосунок починав гальмувати саме в момент зйомки чи завантаження — тобто там, де користувач найбільше чекає на швидкість. Оптимізували обробку медіафайлів по всьому шляху, від камери до галереї, щоб швидкість не залежала від того, який у тебе телефон.

Погане з'єднання не мало права коштувати кадру

Останній виклик — нестабільний інтернет. У більшості застосунків втрачений запит — це дрібниця, повторив і забув. Але у Flashback кожен кадр унікальний і чекав на тебе цілу добу — втратити його через розрив з'єднання означало підірвати довіру до всього продукту. Ми зробили синхронізацію з Firebase стійкою до розривів, щоб жоден кадр і жоден статус завантаження не губився, навіть коли мережа поводилась погано.

Що з цього вийшло

Застосунок, який раніше зривався на частині сценаріїв, тепер тримає свою головну обіцянку без винятків: кадр з'являється рівно через 24 години, жоден файл не губиться, а швидкість не залежить від моделі телефона. І, схоже, це працює — бо продукт, який починався як інструмент для ентузіастів аналогової фотографії, зараз у кадрі в FC Barcelona Femení.Для нас це нагадування, чому «дрібні» технічні деталі — таймер, синхронізація стану, обробка медіафайлів — насправді і є продуктом. Користувач не бачить Firebase чи Camera API. Він бачить лише те, чи спрацювала обіцянка камери.