This page provides an exhaustive list of all the websites and web apps that I've built over the last few years. For everything that doesn't fit into those two camps, I've also created a misc section at the end. Finally, a server configurations section discusses the pros and cons of common server configurations I've used to create and host the websites below.
I built ConnextCMS to overcome several limitations clients have experienced with conventional content management systems (CMS) like WordPress and Shopify, but the user interface (UI) retains the same intuitive layout that users of those platforms have come to expect.
Pioneer News is the parent company of about a dozen local newspapers in three different states. I was hired by Pioneer to develop a sophisticated order form used to coordinate advertising between their child companies. Data in this form is then passed along to the SiteScout Real Time Bidding (RTB) or Google's DoubleClick for Publishers (DFP) advertising systems.
This web application is based on KeystoneJS and was an early prototype of ConnextCMS. Major features of this application include:
RPiOVN is an acronym for Raspberry Pi Open Value Network. It's a cooperative for programmers of the Raspberry Pi minicomputer who use it to develop new applications and appliances. The RPiOVN dashboard pictured here is used for members of the cooperative to track the amount of time they've contributed toward a project. Hours are accounted and profit is distributed fairly. All time tracked is transparent to all members.
If that sounds complicated, it is. You should probably just create an account and check it out for yourself.
I created RPiOVN.org after working with similar software used by Sensorica and studying the phenomenon of Open Value Networks. It's a sophisticated web application that does on-the-fly accounting and data visualization. Work entries are stored in a database. Records can be viewed and even downloaded in Excel format by members. I've published all code as open source on GitHub. The software is packaged as a plugin for ConnextCMS.
This website uses Expression Engine as the content management system (CMS).
The SPOT Tracker map was a predecessor to Crumb Share. I created this app to share a four-month sailing journey I took up the Inside Passage. A SPOT Tracker is a small satellite tracking device capable of signalling for help and can send three pre-programmed text messages. It's possible to retrieve the last 50 breadcrumb points from their server.
This web app used a Node.js application to retrieved the tracking data from the SPOT server and copy them to a locally hosted CSV file. The code on the webpage then retrieves the CSV file and displays the data on a Google Map. This allowed friends and family to track my progress in real-time.
WellFuture is a Shopify e-commerce store that sells probiotic supplements for kids. Dr. Clinton, the owner, maintains a blog. When new blog entries are posted, they automatically get emailed to clients who have signed up to receive her newsletter.
Like all sites I build, this store is designed to run smoothly on a cell phone. The overall theme is bright, happy, and kid-friendly.
This website is a graphic-heavy with very little text. The purpose of the site was to function as a virtual gallery for the artist to show off his work. Fading animations and carousel sliders are used to provide interactivity and inspire the viewer to click-through to view the different art pieces featured on the site.
Unfortunately, the artist has let the domain name expire, but a local copy of this site is still available.
Northwest Physical Therapy is a chain of three physical therapy clinics in Washington state. I built this site as part of my job at Skagit Connext. The client wanted their site to have a 'Northwest' feel to it, and had a series of pictures that they wanted to use for the large slider on the home page.
This site is hard-coded as HTML without any Content Management System (CMS). The service and staff pages include modals that pop up to reveal additional information within the same page. The site is integrated with 123 Contact Forms for secure, encrypted communication of online patient data and payment information.
Power Systems Plus is a generator sales, service, and part company based near Portland, Oregon. The site is built on top of WordPress and uses the WooCommerce plugin to handle shopping cart functionality. The site is responsive, making online shopping as easy on a cell phone as it is from a desktop.
Island Floral was the first commercial site I built that used ConnextCMS for the content management system (CMS). The store owner did not own a computer and needed to update her site using only a tablet or smart phone. The software I wrote allowed her to take a picture with her device and immediately replace one of the images on the site with it. That allowed her to easily update the website with fresh images of the bouquet designs she had in stock. That software eventually became ConnextCMS.
The site was recently rebuilt by another website designer, but a backup of the original website I designed is still viewable by clicking on the button below.
Care E Me is a non-emergency medical transport service operating out of the Skagit Valley in Washington state. They operate a small fleet of vans that help people get to and from medical (and other) appointments. They focus on clients who are mobility challenged and may not have anyone else who can help transport them.
This site is served by ConnextCMS, hosted on a Digital Ocean droplet. See the server configurations section for more details.
San Juan Sufficiency is a blog I've maintained since 2011 about my sailing adventures, passion for living in the San Juan Islands, and my deep interest in technologies that allow for improvements in personal self-sufficiency. Over the years that I've been blogging I also wrote two books, largely compiled from old blog posts. I use the site to promote the books as well.
The site currently uses WordPress and is hosted by HostGator. In the future, I plan to convert the site to ConnextCMS, hosted by Digital Ocean. See the server configurations section for more details.
This is a MediaWiki site I created to disseminate knowledge and encourage collaboration on an open source hardware project I started in 2010. The project is a charge controller, which is a piece of hardware that sits between a solar panel and a battery bank and ensure they 'play nice'. I haven't touched this site or participated in the mailing list for it since 2013. The project has taken on a life of its own, spinning off several other successful open source projects. I leave this site up as a technical reference for others to use.
This site uses MediaWiki as the content management system. This is the same software that Wikipedia developed and uses. It's hosted on HostGator. See the server configurations section for more details.
This is a site I created in 2011 with the intension of running SEO tests and to sell advertising through Google Ad Words. I blogged about solar technology and created a series of informational articles around the topic of do-it-yourself solar power. This was prior to some massive algorithm changes that Google made in 2013. I still use the site to run SEO tests like the ones described on my technical site.
The solar power expert blog runs on WordPress and is hosted by HostGator. See the server configurations section for more details.
A promotional animation like this is a great way to call attention to a specific area of your site like a 'Buy Now' button, sign up form, or phone number. I can design and build this kind of animations and deploy them on your existing site.
The amChart library allows easy creation of stock charts and contains other data visualization tools. This is an example I wrote for myself. It downloads the last 30 days of stock data from the Yahoo! Finance server, processes the data, and configures an amChart to display the data. The amChart and Chart.js libraries are great for creating beautiful data visualizations on a web page.
The webpages and web apps above utilize a few different server configurations. Below are a list of the different types of configurations I've used and a brief explanation of the pros and cons of each one.
An example of shared hosting is HostGator or BlueHost. Shared hosting is the cheapest way to host a website because the infrastructure costs can be split among many clients. The drawbacks are that performance issues can frequently occur and newer web technologies like Node.js are frequently not supported.
An example of dedicated hosting would be a Digital Ocean Droplet or AWS EC2. These platforms are a little more expensive but provide reliable performance, no limits on the types of software used, and easy backup of the entire server. This last feature, backing up of the server, is probably their greatest feature. Digital Ocean Droplets are my prefered infrastructure as the entire server is automatically backed up on a weekly basis. In the event of a hack or even loss of data due to simple user error, the entire server can be restored from a week-old snapshot in a few seconds.
This is the old-school way of building a website, but often the fastest, cheapest, and most straightforward way of building a website. I start with an HTML template from TemplateMonster or ThemeForest. All content is hard-coded as static files and served by either Apache or Nginx. Any type of web host can be used for this type of site.
The most popular Content Management System (CMS) on the web, WordPress is easy to learn and use. It also comes with an exhaustive universe of plugins and eCommerce extensions like WooCommerce. However, due to its popularity, it is also the most hacked CMS on the web. The makers of WordPress have had to adopt a very aggressive update policy in order to stay one step ahead of hackers. There is a common trap that I find business owners often fall into with WordPress:
Shopify is a popular service for eCommerce stores. Their CMS interface is similar to WordPress but their site templates use unique scripting language called Liquid. Despite claims to being popularly used, it is anything but. That means anyone who works on a Shopify site must have specialized knowledge of this scripting language and as a result, costs go up.
See the ConnextCMS section for details.