Finished Web Application Handover
Made it β the app is finally done and you're handing it over to the client? Congratulations! Let's walk through a task list of things you shouldn't keep to yourself.
Overview & context
Handing over finished work to a client or an incoming development team is a happy moment in custom software development. It means you're done. And carefully documented. So let's get to it: let's go through everything that needs to be handed over.
1. Source code repository and ownership transfer
Before a project is marked as "delivered", all source code must live in a repository owned or managed by the client.
If the project is hosted on a developer's personal account, transfer ownership to the client, or make sure the client has full rights to the repository.
Committing .env files or private API keys is one of the most common causes of security incidents during handovers. Rotate any exposed keys before transferring access.
2. Hosting, domain and infrastructure
Transfer ownership of the production hosting account to the client's billing account.
Check the domain's DNS records, the hosting account, and SSL certificate backup/renewal β make sure everything is set up correctly and working.
3. CI/CD pipelines and environment variables
Automated deployments remove human error from handovers. Document every secret the deployment pipeline needs. If the client has specific hosting environments or security protocols, document those too.
name: Production deploy
on:
push:
tags:
- 'v*'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to production
run: npm run build && npm run deploy
env:
DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }}4. Add links to your application in aboutthe.app
Instead of writing a handover document, add links directly to the application for the repository, CI/CD pipeline, domain administration and other services.
This gives the client or future maintainer instant access to every service directly from the application they use or maintain.
Adding the aboutthe.app widget to every project gives each handover the same predictable shape, which cuts down on "where do I find X" questions later. It'll always be in the same place, in the same form.
| Information | Public view | Private (unlocked) view |
|---|---|---|
| App version & release date | Visible to everyone | Same, plus full history |
| Author & license | Visible | Same, plus agency contact |
| Repository & design links | Hidden | Visible with the unlock code or depending on role |
| Deployment & environment status | Hidden | Visible with the unlock code or depending on role |
In short
Handing over an application is no longer just about documentation β it's about the whole process and the surrounding services the app depends on to actually work. Collecting all of that information in one place as you build, and embedding it directly into the app, is the simplest way to make the entire handover easier for your client.
Want to make handovers easier?
Add your application to aboutthe.app for free.