PROCESS

My process for building custom websites and applications

Discovery

The process of building your custom website begins with discovery. We will research your business’s competitors to see what works and what doesn’t about their websites, identify pages and features you would like to implement on your site and think of ways to distinguish yourself from the competition.

At this point we can discuss the trade offs in terms of cost and value to your business for implementing these different elements and define the overall scope of your project along with the page structure and key features of your site.

During this initial consultation phase, I bill my time hourly, at an agreed-upon sliding scale rate. The result of the discovery process is a detailed report on the scope and structure of your project, the tools, services and deployment platforms I recommend using, along with a cost breakdown and estimate for the total price of the work to be done.

Design

Once we’ve defined the page structure and features to include in your website, it’s time to make it your own through the visual design process. This process includes creating a design language of logos, icons, colors, fonts as well as defining layouts and key features for each page of your website.

You are welcome to work with your own designer during this process to generate mock ups and asset files for your website, or we can select from a wide range of professionally designed, fully customizable website themes and templates available from my design partners at no additional cost to you.

If your project works with data, we will design a data model and strategy to ensure efficiency, integrity and security are built into your database solution from the outset.

The results of the design phase are visual page mockups, feature descriptions and any necessary data modeling for you to approve as our 'blueprint' before I begin writing the code for your website.

Development

The website development process consists of taking the page structure we defined in the discovery stage and the page layouts and data model we created in the design stage and translating these elements into the code that runs your website and allows it to be deployed to the internet.

If your site includes dynamic features and the ability to publish your own content, the development process will also include provisioning a database with a built-in, easy to use admin interface for interacting with your data, as well as a custom content management system (CMS) for you to create and manage that content.

I will identify 3rd party plugins and other digital services that we can leverage to streamline the process of building your site and automate the boring parts of running a business to save you time and money. These solutions will be wired up to your projects during the development phase as well.

The result of the development process is a fully functional version of your website that we can view and refine on a private web domain until we are ready to launch.

Deployment

Deployment in the web development process means releasing your project to the internet. If your project is brand new, then this entire process thus far has been leading up to the very first deployment of its code to an online hosting environment for the world to see.

A hosting environment refers to the actual web servers that host your website’s code and connect it to your domain name so it can be accessed over the web. Online deployment platforms range from shared hosting options to large cloud providers and platform-as-a-service solutions.

During the discovery phase, I will suggest options for hosting your project online so that you can be aware of the costs, benefits and trade-offs for each option. The result of the deployment phase is your completed website live online, connected to your domain for the world to see.

Support and Feature Development

Once the initial build of your site is complete and deployed online, I offer ongoing web hosting and maintenance services as well as new feature development for your project. My turn around time for developing new features is fast and because we started with a custom website, there's no limit to what we can build to refine your digital presence, add new workflows for your customers and automate the boring and tedious aspects of your business. New feature development follows the same general four step process as above, but with a more focused scope and efficient delivery.

Understanding Web Development Terms

Like many specialized professions, web and software development terminology is full of jargon, buzz words and abstract, sometimes vaguely defined concepts. This section of my website is designed for my clients to explain the terms we'll be working with in the web development process so that they can be empowered to make their own decisions.

Web Design vs. Web Development

Although I offer combined services in both web design and web development, these are two distinct fields within the profession.

Web designers specialize in creating the visual appearance of a web page using graphic design software, as well as designing the behavior of interactive elements such as web forms, buttons and animations.

Web developers take those visual designs and implement them in code that can be ‘deployed’ online as your actual website. It’s a web developer’s job to understand how websites work ‘under the hood’ — that’s why they’re often referred to as ‘engineers’ in the industry.

In addition to the website itself, a web developer can set up a website’s database and a content management system to allow you to publish own original content. They can help you automate as much of your online business operations as possible, recommend and integrate a variety of tools, services and software to help you reach your business goals, and deploy and host your website on the web servers of any number of cloud providers.

Static vs. Dynamic Websites

There are are two main types of websites — static and dynamic. A static site is ‘read only’, meaning that its visitors can read, view and watch content, but there is no way to enter or save data. A static site always looks the same for every visitor. There are no user accounts, no need to log in and no pages or page elements customized for specific users. Examples of static websites include business marketing sites as well as simple blogs and online publications.

Dynamic websites, on the other hand, use databases to store user-specific information so that the site looks different for each unique visitor. After a user logs in, the code for a dynamic website is designed to pull that specific user’s information from the database and display it back to them on the site, creating an individualized experience.

At its most simple, this might mean a blog that includes a membership section where users can save their favorite articles, post comments and sign up for an email newsletter. Or a business website that includes a client portal for scheduling work, providing invoices and receipts or purchasing products and services through an online store. Larger examples of dynamic websites include full-blown web applications like amazon.com, or the browser-based versions of Twitter and Gmail.

Static sites have a lot of advantages over dynamic sites in terms of low hosting costs, ease of implementation and the improved security and performance that comes without the need for databases or web servers. But the trade-offs are pretty obvious in that your website won’t be able to support any user-specific content or data.

These days however, you can add dynamic features to static websites using tools digital called APIs (application programming interfaces) provided by companies including Google, Meta, Twitter, Salesforce, Slack, Mail Chimp, Shopify and many others to integrate their services into your website with only a small amount of code.

Web developers can even write their own custom APIs for small interactive features like sending user information via a contact form. So it is possible, in a lot of ways, to get the best of both worlds.

Databases and Content Management Systems (CMS)

In a dynamic website, a database on a web server provides a way to write, read, edit and delete website data ranging from the content that you create yourself as a website owner to any user-generated data that you want to capture and save for future reference.

If your website includes a lot of original content, including text, images and video, the best approach to managing that content is to use an appropriately named ‘content management system’ or CMS. A CMS uses your website’s database to store your website content and provides an interface for you to manage that content by writing and publishing articles, uploading images and videos for display and adding or removing entire pages from your website.

Most of the popular website builder platforms such as Wix and Squarespace are actually CMSs themselves, although they provide fairly limited functionality and are built for a wide variety of potential users which results in the cookie cutter appearance of the websites they produce. This also leads website owners to rely on public marketplaces of limited and sometimes poorly maintained plugin options if they want to add any kind of unique custom content to their sites.

But when you use a custom CMS solution, every section or feature on your web pages can include your own original content, allowing for more flexibility and control, adding up to a website that is truly reflective of your business’s unique personality.

Contact

Are you a small business owner, non-profit director or solo entrepreneur in need of a professional website? Let's build something great together! Use the form below to get in touch and I will follow up via email.