Dev Agency, Working with Clients, Freelancing

Web Development

Updated Sep 30th, 2020

From Syntax Episode 36/37 (January 2019): Freelance Client Lifecycle

Communication Tools: Phone/Zoom/Email/Screen Recordings (Camtasia)

Gather Requirements: Often the most important part as it helps limit change orders and scope creep. Your job to interface with the clients and keep things on track the best that you can. SITEMAP IS CRITICAL. It’s about the brand. Is the website a glorified brochure or a live experience? Good communication by asking a lot of questions as this is the make or break. Thoughts on other projects what they like, what they don’t like. What the general requirements are of their site, (overall big picture) How do they make money. What are people landing on your website to do, what are they looking to find. Not what do you want, because you’re the expert but what are their needs. What are you hoping to have on the website (can be broken down into major pieces of functionality (store-finder, contact form, specifics of contact form if super complicated). Can’t be too specific because you can get burned. Your client doesn’t care about the technical aspects, they care about the end result. If you had a dream website at the end of the rainbow what would it be able to do. I will takes those dreams and requirements and suggest something that’s not going to blow the budget. The customer doesn’t know how much time this stuff makes and you don’t know how expensive this stuff is at the end of the day. What kind of budget are you working with, good to ask early-on so no one is wasting time. Being upfront about money is a good idea so there’s no sticker shock. Ballpark on previous projects. May be very clear or not so much. Important to know who will be using the site and who will be updating the site, uploading images, blogpost, etc. Is a standardized form a good idea? For example, google form with 20 questions. Have question with basic layout structures? If going form route don’t make every field required. Form may be a good idea to have them start thinking about things that aren’t anywhere on their radar. Inspiration. Logo. This is often because, as developers, we tend to think that we are selling code and products to clients. The fact of the matter, however, is that we are selling solutions to client’s problems. Setting clear expectations for your prospects and clients makes them feel at ease. Not knowing what to expect from an engagement is a source of anxiety. People want to make plans, and they need to make them around what you’re going to do for them. How long will it take? What will it cost? What result should they expect? Without knowing these things, your clients can’t plan effectively for what comes next. This leaves them feeling lost and out of control. They can’t move forward until you do your work, and they’re not even sure what that is yet. If you meet someone who is interested in your services, set a clear expectation about what you will do next and when you will do it during your first contact with them. This gives your prospect comfort as you start the relationship. When you actually make good on your promise, you start building a track record of reliability. That builds trust. The first meeting is a good time to give your prospect a ballpark price, or to get a ballpark budget from them. Nothing here is binding, and you want to make sure the prospect understands that. For the previous example, you may want to start by understanding what the problem costs them. In other situations where the solution is more well-defined, you could say something like, “My services start at $X. Is that within your budget?” If you want to start from the prospect side of the equation, you could ask something like, “Could you ballpark your budget for this project?” If they resist, asking “Is it closer to $1k, $10k, or $100k?” might get them to open up a bit more. If you can’t serve your client within their budget, you’ll save everyone time and earn their respect by making that clear at the beginning. Even if the client can’t afford you right now, they’ll have an expectation about what budget they need to be able to hire you later. Talk with your prospect before the project begins and make sure you are both in agreement on the terms of the project.

Produce Quotes

Difficult step to boil a long list of requirements into a quote. Fixed price billing is preferred by Scott and Wes, (No idea how long it would take a plumber to do a task). Look at the same way if you were the client in another industry. Thing by thing, what is the time commitment and pitfalls. Don’t want to underestimate. Break down by major functional area. This is going to take blank hours to build, add up all the hours add on 20% and multiply by your hourly rate, (Wes started at $40 an hour). because developers are horrible at estimating. Skill to build, how long will it take and what should you quote. Quoting time is huge skill. If the client is concerned about price you can say hey this store picker is $2000 bucks and we can do that at a later time but in my initial quote is laying the groundwork so that can be easily added in the future.  Explain tech you will be using, (WordPress or Gatsby) and it will be easy for you to update it. This is good tech because it’s going to be fast, easy to update, open source, easily scooped up by another developer. Present the quote nicely and in addition to what is concluded, what is not concluded (if it was discussed). Needs a quote end date (valid for two weeks). Add taxes. 2-3 pages long, description of major functional areas. Scott had embossed folders with logo and custom look and printed on heavier paper. Don’t paste into an email. Don’t send it as a docx. Send as a pdf so it’s solid and sealed. Establish how to get paid. Non-refundable 25%-50% deposit. 50% up front, 50% before deployment. FreshBooks has 1.) project deposits and 2.) late payment reminders (robot does the dirty work; it comes from FreshBooks and not an awkward email from you).

Produce Timelines

Can make or break how your client feels about the project, if you set incorrect expectations an go over it will immediately look bad on you. Clients extend by not doing their part, i.e., providing assets but something we need to spell out. Timeline with hard dates. Your timeline is just as important with their timeline. Launch date, beta period, design time, dev time. Google calendar that shared with google calendar. List of due dates for clients, providing images, assets, Content: Words and text on your website blurbs, paragraphs, etc. Timelines ate assuming they hit their due dates and 24-hour turnaround on request from designer/developer. Under-promise and over-deliver on your.

Creating Contract: Have a contract regardless of who you are working with. Reach out to a lawyer to have them draft you something. At the very least have the client sign the quote. Have very clear communication and good relationship with client so if things go awry you can solve without legal means. Templates on sites like Get aligned on the expectations for both you and your client. Once you’ve ironed out all these details through conversation, make sure you both sign a contract that formalizes all these expectations. Things will undoubtedly change as you go. Project requirements may shift. Deadlines may be missed. Technology you’re working with might change. Your contract serves as a baseline for the project going forward. Just after a new client has paid your deposit, they’re feeling very vulnerable.

Setting Expectations: (The client can’t just fire off a cluster of subject line emails). I do email once a day. Boomerang is great to schedule emails (Don’t send emails at 11pm at night or weekends because the client will think it’s okay to send you stuff at those times). Train the client to have proper expectations. Needs to be structure. Let them know this may not be the only thing you are working on. Someone badmouthing previous developer. May be a sign of future problem client and may want to charge more. They’ve gone out on a limb: they’ve given you some value (in the form of money) while you’ve given them none (or relatively little). This is a great opportunity to let them know what you’ll do next, when they will hear from you with an update, and what you need from them. The last one is of critical importance to remember. We tend to think only of the expectations on us as web developers, but our clients also have responsibilities to make sure our projects succeed. Without their help, we can’t do our work.

Design: Collect All Assets, Logo, Images, Content, color, brand guidelines. Primary and secondary colors. Functionality but overall vibe and look and feel and the client happy. Typography. Overall then present. This is not the layout or website this is the overall big picture look. 3 designs and then the client pics one and always pics the worst one so maybe don’t go that route. We are the designer, there is a method to the madness (readability, call to action). They don’t know the craft. They may think they are saavy and know but they don’t. “Can we make it pop more,” or “this is cloudy can you make it more sunny.” They are trying to tell you something but cannot get it across. Dig a little deeper, ask them more questions to get to the bottom of it as something is bugging them. What I hear you saying is blank and here’s how we can maybe fix it. Don’t get offended by criticism, it’s part of the process. Mood boards, design boards, textures. Looking good is a small slice of good design. A / B testing how does this feel to you but be wary of the crazy things people will be hung up on. So be careful about when you show what because unfinished work may not have the desired effect (Don’t show too early). It is a highly subjective area.


The area the client will know the least about. Less subjective so expect less B/S than the design phase. don’t show them too early, if you need to show them an update let them know you are not accepting feedback on something that is not done, i.e. navbar not styled. They don’t care about jargon, but you can give them ideas. Regular interval check-in emails every Friday afternoon, here’s what I’m working on. Backend may have seen big changes that shows no difference on front-end.

Feedback and Revisions

Once dev is to the point that you can get feedback. Dev done or close enough to that you want feedback. 3 rounds of revisions and follow-up call. All feedback in one email. Minor nit-picky other times it’s more big ticket items. Email is often enough until projects get much bigger and then maybe you need more project management tools. Never use GitHub as a project management system! Feedback is more like “this is broken, this isn’t working, it’s glitchy”. What are you expecting it do to that it is not doing? Screenshare on their end may be helpful to help resolve, seeing old version bust the cache, using an older browser.


Staging site they can look at. Show dev in semi-live dev mode. Hidden URL, brief password protection or robot-no-follow stuff. So we as developer can see it working on a host. Even if you don’t tell the clients it’s there. URL-based AUTH or robots.txt file to prevent indexing. Client pays for domain and hosting, if there is an issue with hosting or email then they go to the host and not to you. Makes for a super clean hand-off, someone else manages. It’s their IP they should own and pay for it. We aren’t a hosting company. Pointing A-record at new server instead because pointing Nameservers take longer to propagate. SSL certs cause some downtime. Make yourself available on these deploy days, don’t do on a Friday Afternoon. Clients email cannot being disrupted (MX records). You set up backup strategy and restoration strategy, (cron job, or plugin in WP, use jetpack and hit restore button). Handoff component is about training. Turn off anything that they won’t need. Restrict access to users. Only add post don’t give them full admin access. In person trainings are great but obviously not practical in all situations. Here’s the admin account but don’t need it unless you are changing developers or super technical. Glass of wine and hit the WordPress plugin directory. Screencast videos are great as users are also beginners that move through that role all the time. Common errors. Simple tasks.

Bug fixing and support

Common for things to break and things just rot over time. Security updates. Host updates version of PHP, major WP update like Gutenberg, plugin functionality. Quoted at hourly rate or fixed. Not babysit for rest of time without a retainer (10 hours a month and fix within 24 hours). Did you break something, or did they break something? Testing/Quality Assurance (QA). Clients famous for adding for things after the fact. Emergency bug that I did, treat as emergency. Knee deep in another project and maybe cannot just drop everything to fix.

What to do when things go wrong

If a project is going to be behind, then let them know way ahead of time and as soon as possible. Have you done your part? These things don’t come out of nowhere, don’t wait until they are massive problems. Hurricane. Client not accepting finished product. Client not paying, reason for deposit, you have access to the server, blank H1 tag to contact billing. Legal action not worth it. Let it go, not worth your mental wellbeing. Coding a backdoor into the CMS is absolutely unacceptable and illegal. Ability fire client in the contract. Scatterbrained client sending barfed email without paragraphs is a huge red flag for bad client.



Custom Backend (MERN)

Not to be updated by User

Major Features/Functionality:

Realtime chat

Image slider

Video slider

Instagram feed

Facebook feed

Contact form

Accept donations

Accept payments

Ecommerce store: Display inventory


I thought on the primetime gym most owners want to Post to Facebook and then feed into their website. Why don’t developers make it easy for them to just post their website IE with the WordPress mobile app and then share that post on Facebook. Convincing might be difficult but my mind is blown. One of the things to consider is that you’re going to want to resize and compress your images before uploading to WordPress because other WordPress will compress you could still potentially potentially be bloating your uploads folder because it doesn’t compress or resize the original.

Notes from Elementor Article

managing client relationships

balance web design work with sales and marketing tasks

It’s going to take a lot of work to build your portfolio and reputation back up again if you have no previous work or contacts to leverage. 

“I create beautiful online stores and shopper-friendly experiences for companies across the UK.”


“I’m a web designer.”

serving the local business community from wherever you operate. 

Website builder technologies like Wix and Weebly have made it easy for consumers to: 

Build their own websites. 

Pay a small monthly fee for them. 

Get their businesses online in a matter of days instead of weeks or months. 

Not have to worry about buying web hosting, themes and plugins or maintenance services. 

figure out a way to make both your web design services and the WordPress CMS the most attractive option.

Maybe more than web design:

Logo and brand design

Web design

Photography and videography (Mograph)


WooCommerce ($2k)