fbpx Skip to content

My all-in-one software solution stack explained

To help the startup and small to medium business also leverage the powerful functionality and feature of what big companies use, my new software stack accommodates all clients from very small to bigger businesses. I can now deliver, stable, quick and automated solutions to help business owners grow their business and full-fill their needs. A system that is more economically viable for a business and less risky to implement.

Why I wrote this article

So it has come to my understanding that some find it difficult to understand what I am doing right now and what service I am delivering at the moment. I came to realise that my new services are a bit too Greek/technical to explain to clients. So I decided that I need to write something that everyone can understand and show real world use-cases. I will start out with a non-technical explanation and only get more technical at the very end. So you get the most important part at the beginning and can decide if you want to pull the plug if the section gets too complicated to follow.

My Story

So about 2 years ago I started to realise that I cannot deliver the complete all-in-one solution to clients. That is not the only reason. I also got tired of studying and customising other developers code for 4 years strait. Since every piece of software can be written in a 100x different ways and each developer use his own methods to write software it gets a bit long in the tooth. Don’t get me wrong, I have learned a lot and seen a lot of useful software structures and useful techniques on my journey. But it was time to change and pursue my passion into custom developed solutions. To achieve what I wanted to do, it looked like I needed to learn another 4x additional coding languages and frameworks 😥. To me this was not the best approach and a waist of time, because it takes allot of time to get acquainted with a new coding language and on top of that to understand another framework for each coding language your acquire. So I needed an all-in-one solution not only to write software for clients, but starting out my own software projects of which I want to create businesses from.

My goal was to specialise in one technology stack to perform:

  • Apps that live within websites that connect to databases and services (Single Page Applications.)
  • Custom developed website front-ends that loads, at least, under 1 second in a web browser. That is fast, scalable, and secure. Headless setups.
  • Software as a service (SaaS), software served via a server in the cloud to a website as an additional software component/functionality.
  • Native mobile applications for Android and iOS.
  • Intranet Software Solutions, Cloud-based apps that runs on a server but on a intranet.

I was also tired to restrict myself to one platform like PHP & MySQL that I use to code custom features and plugins for WordPress and WooCommerce. I wanted a solution that could run on almost any platform imaginable. Cross-platform compatible. So that my software solutions is not limited by another language or software platform as almost any other language or platform utilise my new software stack in some way or another.

To me as someone that is not only a developer, but a business owner for the last 19 years I needed to find something that not only made business sense, but will satisfy my client’s requirements in every single way. Also, be affordable and will show a return on investment. I needed to find a solution that can cater to all markets big or small. It also needed to be something another developer could easily take over if I start to hire developers to work on bigger projects. So I went on a quest for months to find a technology stack/coding solution to achieve this. I found my ultimate stack and boy o’boy the more I use it to build out systems for clients the more I love it!

My New stack 

I base my new technology stack on using JavaScript. Yes, that language that quite a few developers made fun off in the back of the day. The ugly duckling. “It is not a proper coding language; it is a scripting language”. Yeah well I don’t hear the chirping now these days, because it is now one of the most used evolved technology stacks on this planet and its still evolving at a very quick rate. It does Object Oriented Programming like any other language. You can also apply MVC patterns in your design. It is up to the experience and skills of the developer that can turn any stack into something good and useful at the end of the day. With a little bit of effort a lot can be achieved.

With my JavaScript Stack that includes React, React Native, NodeJs (Express) and more… I can now walk into any business and build them a full software solution from the server-side, back-end to the front-end including mobile app development on almost any platform. In other words Full Stack Development. In a quick turnaround time and with fewer resources at my disposal that would take a bigger development team to accomplish. For argument’s sake, I have a set limit on the size of projects I take on. That is why my target market is the startups and small to medium-sized businesses. So, what is this new coding stack capable of? Let’s look at the examples below.

Examples

Let us first start with what is possible and let’s use real-world examples. See I don’t expect even a medium-sized business to use all the features that these applications utilise. You might be familiar with some of these apps and also have some idea what they are capable off. Just think how you can incorporate these functionalities/features into your business.

Netflix

react-developer-development-netflix-all-in-one-software-solution

So every time you turn on your TV, mobile or computer to watch Netflix, know that it was built with React front-end. 

Showmax

react-developer-development-showmax-all-in-one-software-solution

Showmax is an online streaming services that started in South Africa also developed with a React front-end.

Facebook

react-developer-development-facebook-all-in-one-software-solution

They build most of the interface on React. Facebook is also a very good example of what components are. Every single block you see on Facebook is a component. Every single block component is separately developed and maintained. This is the true power of React. Every single component/block a user can interact with, without requiring the whole webpage to reload. How cool is that?! Sorry I can’t get over it! Do you know how frustrating it was in the past to develop custom websites and you need to reload the webpage every…, single…, time…, to see your changes? It was not fun. Lets not even get started testing on a shared hosting server.

Instagram

react-developer-development-instagram-all-in-one-software-solution

Since Instagram is owned by Facebook, the user interface is another React example. Their mobile app is also developed with React Native.

WhatsApp

react-developer-development-whatsapp-all-in-one-software-solution

Yes, ladies and gentleman. That “hard to put down” little app called WhatsApp was developed utilising React.

Dropbox

react-developer-development-dropbox-all-in-one-software-solution

Dropbox, a Mass Online file storage platform also developed with React.

Airbnb

react-developer-development-airbnb-all-in-one-software-solution

Airbnb developers also a contributor to the React Library. I am actually using some of the features Airbnb developed in my apps. No need to reinvent the wheel.

Uber – React + Node

react-developer-development-uber

Uber is running over 4000 micro services in their live production environment. They rely both heavily on React and NodeJS Server.

Discord – The ultimate online gaming messenger app.

react-developer-development-discord

Everything from their website to their desktop and mobile apps is running a React user interface. It hard to state this sometimes as by the time you read this they, the software company, could have changed to something else. So please just take note.

Yahoo

react

The yahoo website is using React since Facebook also owns yahoo.

Yahoo Mail

react-developer-development-yahoo-inmail-all-in-one-software-solution

The mail client for Yahoo mail also utilises a React interface.

e-Commerce & Websites

react-shopping-cart-ecommerce

I have development for most of my development career on WooCommerce, but after playing with a React-Build e-Commerce environment it is something from another planet. It is fast, scalable, and fully customisable. You know the problem like with WooCommerce and other CSM e-Commerce systems? There are always features missing to fit in 100% with your business model. I have seen this countless times, that is what I have been doing for the last 4 to 5 years. If the features are available, it is not 100% what you need. Most of the time, these available solutions is bloated with stuff you do not require. So in return, your server has more work to perform and slows down the overall user experience. Just something I also need to mention is that if you go for a reactive front-end, we can still make use of your existing e-commerce CMS back-end. It becomes known as a headless setup. All these big e-commerce sites like Amazon, Takealot (S.A.) is custom build software solutions to cater for their client’s and their own needs. This is to give their customers a unique experience, because they are in full control of their own software and does not rely on CMS platform or plugin developer to one day bring on the requested changes, or to finally fix that bug.

More examples of React build websites and e-Commerce websites

Please note the speed and flexibility these websites in the examples below. Add items to the cart and check out the filter process. Its instant! Browse between the pages. Take note how snappy it is going from page to page. It is because the whole site gets loaded in the user’s browser, memory, and does not have to reload every single time when you go from page to page. These sites are also not stuffed with unnecessary code or features so it makes the application itself very light and fast to serve to users.

e-Commerce example – demo only.: 

https://react-shopping-cart-67954.firebaseapp.com/

Real Websites examples:

https://www.shopflamingo.com/products

https://impossiblefoods.com/

https://ca.braun.com/en-ca

There are hundreds of more examples to showcase. We can even drill down into each feature, but it is going to turn this post into a book, very quickly. Now think of what we can achieve with your requirements or ideas? The sky is not the limit anymore. 

Final Words

I have not even started to scratch the surface. There is so much to talk about this technology stack; it will literally take days around a table. All you need to know is that this tech will be wonderful for your business and budget depending on your requirements.

Now I can deliver the full boutique to a client by only utilising one language and its available frameworks and libraries.

This JavaScript technology stack solved my problem, and it has given me the means to assist/attend to my clients in every single request or problem they might require solving from now onwards. In the end of the day software is software. It is a tool, but it is using the right tool for the right job. It is the means to solve a problem and is less of a headache to maintain. Something that is easily scalable and upgradable. Something that even me as a solo developer can utilise and develop with to deliver anything from small in-page apps to bigger systems.

Then I got asked the other day, but are you not a high risk, because if something happens to you, who will continue on the apps you write? How did Microsoft start, WordPress, Facebook, Linux – Unix, Apple? All by a single creator taking it one-step at a time that was later joined by other developers to turn it to the giant software companies it is today. In Baby Steps, and to answer your question, there is a whole community out there that can easily take over any project of mine and also note this software stack was not born yesterday. It has been in the market for a few years now. My solutions is all documented, and the code is commented for any developer to easily take over and they will be up and running in no-time if they know what they are doing.

So if you have an idea for a website app or mobile app or if you want to automate a manual business process, please get in contact, I would like to know more and help you with it.

The technical parts, you can stop here if you want to. It just a breakdown of the tech I use.

Breakdown of my Development Stack

JAVASCRIPT DEVELOPER (Development)

JavaScript is the code that runs inside the browser. It uses a user’s computer hardware resources like the CPU and RAM. It does not require a server to run like PHP. It also has direct access to these hardware resources like the GPU.

REACT DEVELOPER (Development)

React is developed and maintained by Facebook themselves. React is a library(extension) to JavaScript. It is JavaScript on steroids. It lives in the virtual DOM inside the browser’s DOM (Document Object Model). The DOM of the browser is the place where the website’s code gets executed.

React on its own is not a framework; It’s a library for JavaScript. This becomes a framework the moment you add Redux (state management), Redux Router(routing between screens) and other libraries like WebPack(Compile Engine) and Babel(Translation Engine for JavaScript ES6 to ES5). React is a much smaller framework to maintain and you only use what you require, not like a bloated framework that eats away resources. Therefore, React apps are much more stable and maintainable. It also very light and load in less than 300ms! that is about a 1/3rd of a second.

In React every single element like even a button is a component. You can change the components or extended on. They each render and function in their own app state. React use a memory allocation called state which is used to add, update, remove data from memory. It uses a render method to asynchronously update each individual component’s content without requiring a complete page reload. So basically your app can start out small with only a handful of components and can later become this full-blown application with many components. If you need to bring on changed, you just add more components to the existing app or if you need to change a component you just change that one component. The whole app does not require a rewrite. So can you see that the continued work on an app like this will be cheaper to maintain than a regular legacy app. I mostly use React to build out single page applications.

NODEJS DEVELOPER (Development)

Node is a runtime environment for JavaScript. So what this means, it is a container that will execute JavaScript code server-side. The Node-container transcode the code into machine code. I use it for the back-end stuff like APIs and user authentication. I also used it to create and run server like functions. It manages the communication between a database and your software platform. It supports bi-direction communication with sockets. So sockets is used for stuff like instant messaging apps. Like WhatsApp, for example. With the Node environment, you can create multiple server instances if your app needs to grow to serve hundreds of thousands of users at the same time. So, your app’s function can be split over multiple servers.

Node Package Manager called NPM for JavaScript.

NPM is the default package manager for the JavaScript runtime environment. This package manager holds all the goodies to build out almost any function an app requires. Every single APP that I develop is built inside this NodeJS runtime environment. If I require a special feature like graphs, I just NPM a package like https://www.chartjs.org/ strait into my app.

DATABASE(S) DEVELOPER(Development)

JavaScript or React with the help of NPM (Node Package Manager) libraries can interact with almost any system or database under the sun. I am talking SQL, MySQL, NoSQL, PostGreSQL, Mango & FireStore that are both document object based database models. BTW still using traditional databases? Do a bit of reading into document-based databases. With document databases you can on the fly, make structural changes where with traditional relational databases you need to create a new table, migrate the data and dump the old table. In other words it is very hard to change the database schema with relational databases where with document-base databases it can be changed in an instant without effecting and database functionality. Document-based databases serve content very fast vs traditional databases.

REACT NATIVE DEVELOPER (Development)

React Native uses the same tech as React and is also built with JavaScript, but as an additional library that allows you to use JavaScript to code native Android and iOS apps. Yes, NATIVE. Why/ How? The code that you create in React gets converted and compiled via Android Studio into Java and via X-code into objective-c with a middleware app that does the translation. So basically you write one app, but for multiple platforms. Just note that there are some visual components differences that would need to be catered for. Developing for native is a bit of an involved process. It is defiantly much cheaper to develop on React Native than to write code in Java for Android and then code another version in iOS using Swift.

Just be careful what you are offered as sometimes some solutions do not compile to native code and utilise a native container. It’s not a huge problem, I also supply these native web container solutions to clients on a tight budget or if they just need an MVP(Minimal Viable Product) to get started. Basically, you use plain JavaScript, HTML, and CSS to create mobile apps, but they will run as a website inside a native container. You get hundreds of platforms that use a native container like PhoneGap (Adobe).

I have seen website-version-mobile-apps that looks and operate exactly like native apps does, but there are some differences. It is not really a big problem if your app is small.  If you are looking for true speed, stability and want to have access to almost all the operating system features and hardware function of the mobile device then you require a native solution like React Native. It was quoted that React Native is faster and is packaged smaller than apps that has coded in Java or Objective-C, because with Java and Objective-C the more features you require the more libraries you need to add to your code. Most of the time, you only require one feature from a library, but the whole library is injected into the app. This increases the application size and these apps also use more hardware resources.

If you like to find out more or have an idea for an app or even want to automate an existing process, you need to perform manually, then please get in touch and tell me more.

×
Scroll To Top
23 Shares
Share23
Share
Tweet