Offline-first apps: your business keeps running without internet
We build apps that save everything on the phone first and sync on their own when the signal returns. Your team keeps selling, collecting or recording even when the internet drops.

In Peru the signal drops: in a market, a basement, the highlands or on a plane. An app that needs the internet on every tap leaves your team waiting and your customers in line.
Offline-first means the app works against a local database (SQLDelight) and syncs with the cloud in the background. Each change is stored with its own identifier, so on reconnect it is uploaded without being lost or duplicated. That is how Kipuy and Minkay work.
What's included
On-device database
SQLDelight stores sales, expenses or records on the device: the app responds instantly, with or without signal.
Automatic sync
When the connection returns, pending changes upload on their own and changes from other devices come in.
No losses or duplicates
Every record has its own identifier, so retrying an upload never creates copies.
Visible status
The app shows what is synced and what is still pending, so nobody has to guess.
Android and iOS
With Kotlin Multiplatform, the same sync logic runs on both phones.
Connected to your web dashboard
What gets recorded offline shows up in the web dashboard as soon as the phone reconnects.
What we build it with
SQLDelight
Typed local database shared between Android and iOS.
Kotlin Multiplatform
The same sync logic on both platforms.
Cloud Firestore
Cloud copy and data shared across devices.
Background sync
Retries when the network returns, with nothing for the user to do.
Our apps that work offline
Kipuy records sales without internet and Minkay logs expenses in the mountains or on a plane: both sync when the connection returns.
Kipuy
Your business, well counted.
Sales, cash register, inventory and invoicing
Read the case study: KipuyMinkay
Clear accounts, lasting friendships.
Shared expenses and your money by currency
Read the case study: Minkay

Five layers, like a terrace
Each layer holds up the next. Timelines depend on the scope and we confirm them in the proposal.
Layer 1
Discovery
First conversation, free
We learn the process that takes your time today (the spreadsheet, the notebook or the WhatsApp group) and define a small scope with a clear timeline and cost.
Layer 2
Design
Before coding
We sketch the screens and the main flow so you see how your software will work before we build it.
Layer 3
Development
In short stages
We build in deliveries, with versions you try on your phone or browser and adjust with us.
Layer 4
Launch
When the scope is done
We publish to Google Play, the App Store and servers, ready for your users.
Layer 5
Support
After launch
We stay with you with fixes, improvements and new versions, just like we do with our own apps.
Frequently asked questions
What does offline-first mean?
The app saves everything on the phone first and syncs with the cloud when there is signal. Users never wait for the internet to record something.
What if two people edit the same thing offline?
We agree with your business on a clear rule for each case (for example, the latest change wins, or sales always add up) and apply it the same way on every device.
Can my current app become offline-first?
Often yes, but it depends on how it is built. We review your app and tell you whether to adapt it or build the offline layer from scratch.
Does it work on Android and iPhone?
Yes. With Kotlin Multiplatform the local database and the sync are the same on both platforms.
We also do
Tell us your idea
Write to us on WhatsApp or email. We reply with concrete questions and, once it's clear, with a proposal of scope, timeline and cost.
- +51 960 511 777
- angelhuamannahui@gmail.com
- From
- Lima, Peru
No forms, no strings attached: the first conversation is free.

