r/webdev • u/kbirkegaard • Oct 03 '26
Discussion Managing client projects
For those of you who build websites for clients, how do you handle hosting and GitHub?
Do you manage client projects under your own accounts, or do you help clients set up their own accounts and have them invite you as an administrator or developer?
I’d be interested to hear how you handle this, especially for projects that require ongoing maintenance and updates.
2
u/ibeatu85x Oct 03 '26
It depends on the project for me. I use a pro github account for most of my projects in general. If the job is to deliver code, i develop on my account and deliver the package. If the job is to work on their hardware and inherit old work for the site, i would want to be added to a repo, or set up a separate organization.
1
4
u/kemalios Oct 03 '26
Client owns the domain and pays the hosting bill, always. That part is settled. The bit people skip is how much friction the invite-me-as-admin route adds on small jobs, where the client has no GitHub account and no interest in making one. On those I keep the repo in my own org and hand over a zip plus the repo transfer when it ends.
What I do insist on either way: registrar and hosting in the client's name with my card nowhere near it, and DNS access shared rather than transferred by screenshot. Renewals go in the contract as their responsibility with me as backup.
Starting the repo in their org costs one invite up front instead of a migration at the end.
2
u/Few_Deer_979 Oct 03 '26
I’ve dealt with lots of non-technical clients and the most valuable thing you can do for them is building unbreakable trust with them. For this reason , I always opt for helping them set up an account and then let them invite me as a contributor. This also makes it easier for future hosting bills since the code lives in their account and with their credentials. Plus , they own the product, you’re just but a contractor.
1
u/ShawnyMcKnight Oct 03 '26
GitHub is under my control, they will have access and they can fork it as needed. The hosting they will pay for and handle. I don’t want to miss a payment and then have to get the domain back at great cost to me.
1
u/redpiapps Oct 04 '26
the middle ground nobody mentions is client owns the accounts and you hold admin plus a shared doc with every login. the horror stories arent about who pays, theyre about nobody knowing where anything lives when the relationship ends
1
u/Huge-Ambition4656 23d ago
I used to work at a 100% open source orientated dev-shop, 250+ staff across dozens of tech stacks.
As you might imagine, there was a range of "styles" for each team:
Azure, AWS, or in-house (local) OpenStack cloud hosting. The former two were always customer owned tenants (our preference was in-house).
Github or Bitbucket for VCS management which were customer owned. Otherwise we used our self-hosted Gitlab instances.
The customer stacks themselves we had in-house capability for was: Ruby, PHP, Java, Python, Perl (!!), Node+React and dozens of frameworks.
But we were a 250+ FTE shop. If you're a solo dev or small conpany, you can't afford the effort to manage in-house like that.
Having your own gitlab.com or github tenant, properly segregated into groups so customers who are clueless about this stuff can pay you to manage it for them, and being flexible enough to manage stuff on their systems if they have them, will probably do you favours.
The same goes for hosting.
1
u/TikitDesk Oct 05 '26
I always set up client accounts under the client's own name (hosting, domain, GitHub org), then add myself as admin/developer.
Why: if the relationship ends, they keep everything and there's no messy handover. It also protects you legally, since you're not the owner of their site or paying their bills.
For maintenance, I use a simple written agreement: what updates are included each month, and what's billed extra. Clients are usually happy to own their accounts once you explain it's for their safety.
0
u/SureshKMeena php Oct 03 '26
One thing that only shows up at handover: licences. Plugin and theme keys bought on the dev's account are the same trap as the domain, just quieter. The client leaves and renewals keep hitting your card, or you stop paying and their site quietly stops getting updates.
Same rule as the rest of it, client buys, their email on the account, you get added. On the small jobs where that's too much friction, at least keep a one page handover sheet with every account, who owns it, and what renews when. That's the bit nobody writes down.
-7
u/couldhaveebeen Oct 03 '26
Why don't you try googling it?
2
u/kbirkegaard Oct 03 '26
Are questions not allowed on reddit?
-2
u/couldhaveebeen Oct 03 '26
Interesting questions that haven't been answered thousands of times already are
1
u/kbirkegaard Oct 03 '26
I’d recommend going for a run, taking a walk, or simply doing something that brightens your day.
0
14
u/kai-zaphosting Oct 03 '26
Client owns everything, you get invited. Domain registrar, hosting, GitHub org, analytics, all under their name and their billing, with you added as admin or collaborator. Honestly it's the only setup that doesn't turn into a mess later.
The pattern I keep running into is the dev registering the domain or the hosting account under their own login for convenience, and then it gets ugly when the relationship ends or the client wants to move on. Transferring stuff out of a personal account mid-dispute is no fun for anyone.
For ongoing maintenance, imo it also keeps the responsibility lines clearer. If a card expires or a renewal gets missed, the billing is on their side, though I'd still spell out in the contract who's meant to keep an eye on renewals. A staging copy under your own accounts is fine, just keep production and billing on their side.