What is the difference between a website and a web application?
A website mostly shows the same content to everyone and changes when someone edits it. A web application gives each user their own state: they log in, the data they see belongs to them, their actions change records, and rules decide what they are allowed to do. That difference drives everything else — an application needs a data model, roles and permissions, an audit trail, backups you have actually tested, and a plan for what happens when two people edit the same record. It is why the two are quoted and maintained differently, and why an application built like a website tends to fail in its second year rather than its first.
Do we own the source code?
Yes. The code, the database schema and the deployment configuration are yours, in your own repository from the first commit rather than handed over as a zip file at the end. That matters more than it sounds: it means you can have the work audited by someone else, take it to another team, or hire in-house without renegotiating anything. We document the architecture, the environment variables and the deployment steps as part of delivery. Third-party licences — a paid library, a mapping service, a font — stay under their own terms, and we list them explicitly so there are no surprises.
Should we build a web app or a mobile app?
Start from where it is used and what it needs from the device. Work done at a desk or on a laptop, by staff, partners or corporate customers, belongs on the web: one codebase, instant updates, no app-store review between you and a fix. Go native when you need the camera, background location, offline use in the field, or push notifications people genuinely act on — a delivery driver, a field technician, a consumer app you want on the home screen. A very common answer is both: the full system on the web, and a focused mobile app for the one job that happens away from a desk. We would rather scope that honestly than sell two builds.
Can it connect to the systems we already run?
Usually, and the first question is what the other side offers: a documented API, a database we can read, a file drop, or nothing but a screen. Each of those has a different cost and a different reliability, so we check before promising. Two things then decide whether the integration lasts. First, which system owns each piece of data — if two systems can both edit a customer record, they will eventually disagree, so one has to be the source of truth. Second, what happens when the other side is slow or down: queues and retries rather than a form that fails in the user’s face. We also plan for the integration that is not available yet, so a missing connection does not block the whole build.
What happens after launch — who maintains it?
Every application needs an owner, and you choose whether that is us or your team. If it is us, we agree a support arrangement in writing: response times by severity, a monitoring setup that alerts a person rather than a dashboard nobody watches, security and dependency updates, backups verified by an actual restore, and a monthly window for small changes. If it is your team, we hand over documentation, a walkthrough of the architecture and the deployment, and stay available for a defined transition period. What we advise against is the third option people drift into by default — nobody owns it, updates stop, and the first real problem arrives as an outage.