There are several avenues available today for building websites and software applications. The key is to recognize the value you are trying to provide with your product or service, and the degree of uniqueness required to differentiate your work. What are you providing that would make a customer choose you over one of your competitors?

If you are a consultant, for example, your unique value may be your experience and knowledge. The content of your branded website will be what separates you from your competition. You need good marketing copy that helps frame this, not a fancy automated tool.

In our case, it’s this website, and we added simplistic blogging capabilities to allow us to publish short articles to help our clients and partners - and hopefully to showcase how we think and can help you with your business.

Let’s look at different options and when they will apply:

  1. Static Website: the most basic websites are for marketing, and online site builder tools will work adequately for most small businesses. The tools are usually provided for free, but there is a monthly cost for hosting. You should be able to find a hosting provider with a starter package in the $10-20US/mo range, often with first-year promotional pricing. Pages will be static but your potential customers should be able to make an inquiry which is sent to your email.

    Can we build your website for you? Sure, but the online developer tools are accessible and do not require any programming expertise. If you are on a limited budget it may make sense to do the work yourself and then just bring us in if you get stuck or need a custom item, like an integration, bolted on.

  2. Interactive Website: This applies when your website is also a portal to start interactions with your potential customers. Beyond basic inquiries, maybe you want to be able to process payments for services or schedule appointments. Maybe you have an interactive form that you want filled out. Often, the same website builder we discussed earlier can do basic things like this, so it is worth investigating before you consider custom development.

    What about WordPress? It’s a great option for website development. It’s a bit more time-consuming than the simpler online site builders, but it has a plug-in system that allows you to build more complex websites. If you build something in WordPress, and then eventually need to expand your site, we can replicate what you built fairly quickly in a more robust platform, so this can be a great evolutionary approach.

  3. E-Commerce/Marketplace: If you have a product catalog, you should consider an online storefront. It’s just another form of interactive website, but using a specialty hosting service will have more built-in functionality, like shipping calculators, inventory management, and promotional capabilities. Why reinvent the wheel if the value you are providing is your product selection or pricing?

  4. CRM: Customer Relationship Management tools are now ubiquitous on the internet. You can most likely find a custom solution tailored to your business vertical. The more powerful tools are all customizable, so you can define your sales process and then match the CRM’s sales stages to your process. Pricing for these tools will most likely start at $50/user/mo and can easily be a few hundred, so they are for established businesses that can afford the outlay. The larger tools also have built-in direct marketing functionality, though sometimes there is an additional fee.

    We’ve built multiple custom CRMs. The complexity generally increases the startup cost, so you need to have a sound business plan to justify the expense.

  5. Internal Process Application: You have a business process you want to computerize, but it’s not a sales process. There are several tools available that do this. The key is that, since this is an internal tool, you usually don’t need a custom UI experience. The tool you select will provide the ability to add the fields your process requires, control data flow, and connect with external systems.

    Often when the logic is bolted onto another application it is called “workflow,” so if you are already using a tool with workflow capability it's worth researching before adding another piece of software to your application support stack.

    “No Code” solutions for building applications may work here also. They can provide a lot of functionality, and usually, their downside is similar to that of website builders. They may have limited customization options, but for internal apps that is often acceptable.


  6. We can help you with all of the above. We can work in an advisory role or do the work for you. It all depends on your budget and timing. Where we excel, however, is in the more complex product designs, such as:


  7. Full SaaS Application: If your business idea requires custom processes or tools, and these customizations are part of your value proposition, then this is the way to go. SaaS stands for “Software as a Service,” and it is the prevailing model for how applications are developed today. Instead of installing software on a server, you sign up for an account on a website and your data is isolated for your use.

    There are a number of approaches to SaaS development. We support an evolutionary approach and will work with you based on your budget and business needs.

    • Monolithic Applications: This is the classic website predominant on the internet 10+ years ago. Each url serves a page with content. This site uses that design, simply to show that while it’s an older approach it still works and is the cheapest entry point for this type of work.
    • Single Page Applications: This approach uses a Javascript framework to run the application in your web browser. When a user clicks on the URL, larger javascript files are loaded that support the application, but these larger files can be cached so they only download when changed. Then, as your user clicks buttons and takes action, the application only needs to retrieve fresh data from the server. The result is that your application is more responsive and if done correctly creates a better user experience.
    • Microservices: As your application grows you will need more developers to maintain it. This approach involves using containers and dividing your system into discrete components, or services, that each developer can work on.

    We support all these approaches, with experience with multiple platforms and libraries. It comes down to budget and timing. We will always attempt to design your application using sound development practices so that as your stack grows from one stage to the next you can reuse as much code as possible and minimize redesign costs.

    This type of development can be expensive, but you can get started much cheaper than you may think. The key is to be crystal clear on your need and value proposition.

  8. Mobile Application: Today, having a phone app is a requirement for most new products. The challenge has always been the different operating systems, and now it comes down to iOS (Apple) and Android (Google). Luckily, a lot of work has been done to standardize even those. We support the following options, all driven by budget.

    • Responsive design: This involves designing your application to adjust its page layout based on the device your user is using. It only takes a small amount of extra work and is a minimum requirement for modern app development.
    • Progressive Web App (PWA): Responsive web design provides a good look and feel on phones and similar devices, but it doesn’t naturally take advantage of a phone’s capabilities, like a camera or geolocation. With PWAs you can do that. These are web pages that can be saved to a phone’s home page and run like a native application.
    • Ionic Capacitor: The challenge with building phone applications is maintaining separate codebases. Ionic solves this problem with their Capacitor platform. It converts HTML, CSS, and Javascript into code that runs on iOS and Android operating systems. This is similar to PWAs except that these apps are installed via the “app store” like native apps.
    • React Native/Flutter: Similar to capacitor except these platforms use native UI components for better performance. React Native uses JavaScript and Flutter uses Dart.
    • Native: When you have a complex phone application or need the maximum performance obtainable, you can still build native applications. That means using Swift for iOS (or Obj-C) and Kotlin for Android (or Java).

  9. Data/Analytics:This is a big space. It starts with data management. What type of data are you collecting? How are you collecting it? What do you want to do with it? You may be building reports, running machine learning models, or supporting an LLM. Regardless, we can help set you up quickly, building new data pipelines or just figuring out how to get value from your existing customer data.

    • Data Warehouse/Datamarts: These are relational databases denormalized for reporting purposes. They are the most responsive, but you spend the most time setting them up.
    • Data Lake: Relational databases have the overhead of requiring a specific structure for storing data, and then loading that data into said structure, which can be a cumbersome process. When you have too much data, or data in many different formats, then you can use a Data Lake to manage it.
    • Data Reporting: Once you’ve engineered your data process, use reporting tools to create value.

This is a bit of a laundry list, but I wanted to provide a comprehensive framework for making software investment decisions. Too much of a data dump? We are happy to help you work through your choices, and our initial consultation is always free. Drop us a note and let us know how we can help.


Dave DuBois
August 1, 2023