I get contacted now and then by brilliant geniuses who have an idea and want me to help them build it. Often times, by the time they get to me, they have a sense for how they would like it to work, but no idea how to implement it.
The vision they have might not currently exist on the web in the way they imagine it, and so they think this is something they have to build from scratch.
They look around for partners and find a lot of geeks who like to build complicated programs. I am one of these geeks. Its fun to build things in code.
But its rarely useful to my clients, and so I usually think of “building from scratch” as an absolute last resort, and if you are a brilliant visionary, I want to convince you that you should too.
The gist of the argument goes like this:
Why pay someone to build you something from scratch, which is ALWAYS the most expensive way to go, when you can benefit from the time and experience of world-renowned programmers who have already built a decent scaffold that you can then tweak and arrange into your brilliant new thing.
“But no one has thought of what I am thinking of,” I hear you say. “It simply doesn’t exist.”
And this has happened more than a few times already. I say, “okay, show me what you want to build.”
And they have diagrams and copious notes, and I read them.
I can tell you that not once in my entire life have I heard a brilliant new idea for the web the basis of which could not be constructed by already existing technology.
“But no one has thought of what I am thinking of,” I hear you say. “It simply doesn’t exist.”
I agree with you that it does not already exist, but where we may part ways is in thinking that therefore it means you have to build it from scratch.
I see the brilliance of your plans, but often I can build 95% of it with existing tools. What that means is that the folders and files and lines of code that I am using to drive the majority of the site is built with free software (both with respect to “freedom” and “free beer”).
The 5% of your idea which is novel might not exist, but at this point I can focus on this special 5%, and build it out on top of the gobs of infrastructure that you did not have to pay me to build from scratch and that already exists for free.
So if you are a pioneering visionary, and you want to make it happen in the world, do not spin your wheels inventing the wheel from scratch. The wheel was first used in Summer by the Chaledonians in 4000BC, it does not need reinvented.
But you might have something cool that makes it fly. Let’s begin with an existing wheels, and re-tool them.
Where do you start with respect to web-based implementations of your idea? Particularly if you are scratching this together with not very many finances.
I have given this advise many many many times, and this is what I always say:
1) Start with a good Content Management System. There are many many many quality free ones. I use Drupal (https://www.drupal.org) because it’s free, the community is strong and the standards are high. The Content Management System should enable you to create web pages on your site and other content without having to code a word of it, and with an interface similar to Microsoft Word (WYSIWYG).
In addition, good Content Management Systems often come with extended functionality like calendars or forms that you can build. These often exist in contributed ‘modules’ or ‘plugins’ or ‘extensions’ (same basic idea in different flavors). A good content management system should have high standards so that modules that are built by the community follow guidelines that make those modules work in a general way with the entire system and enable many modules built by different teams agnostic of one another to work together.
Drupal’s website is full of helpful information including where you can find talented and proven development teams in just about any country in the world.
2) Got people, contributions, campaigns, events, bulk emails and memberships to keep track of? In addition to a Content Management System (CMS), you need a Contact Relations Management system (CRM). CiviCRM (https://civicrm.org) is one such system that comes out of the box with the ability to do all of the things I mentioned above and more. In addition, it plays well with many Content Management Systems like Drupal which means you can have CiviCRM installed on your website as a modules/plugin/extension of your Content Management System.
3) Mayfirst/PeopleLink (https://mayfirst.org/en/)
Mayfirst/PeopleLink is a fabulous international community of developers who build websites for the greater good.
When you become a member (super affordable), you get:
0) A hosting package that you can host your website with (they specialize in Drupal).
1) Access to support responses from years and years and years of questions from which, in many ways, I first learned drupal. AMAZING resource.
2) Access to a community of developers who you can ask questions to and hire to do work at VERY reasonable rates, who are familiar with CiviCRM and Drupal and Wordpress and others.
3) Access to other members of Mayfirst for networking and community.
Once you have 95% of your site built with these tools, you can then have a solid foundation of understanding the little bits and parts that might need to happen custom to make your site special in that way you envisioned it.