Web 3 Tech Stack: Building from Scratch or Leveraging Existing Tools

Building Product From scratch

To build a product from scratch without the aid of an existing tool bundled with features that will fasten production comes with a price.

And that price is time, and you will take a longer time to make the project go-live because you are starting from the very beginning.

But you will have many benefits from doing that. 

The companies that built most of the paid and open source tools used by others benefit money and recognition for the tool.

Pros

  • Flexibility 

  • Have full control

Flexibility

Building the tool from scratch gives you more flexibility and control over everything. For example, you build your own token using a solidity smart contract. Because you have the codebase, you have access to change any information, function name, and even deployment.

Have full control

you have total control over the whole system because you built it. You make the decisions you want and see them happen within minutes, which can't happen when using a third-party tool because they have processes to follow before accepting your ideas or suggestions. 

Cons

  • Slower development process 

  • The cost of development is high 

  • Constant Security improvement

  • Community adoption is low 

Slower development process

Building from scratch takes time to build a finished product, and you might fail if you have serious competitors; why? Because you need more time to code, do code review, QA, and UAT for just a feature, and this step might be repeated at least two times for a particular feature.

The result will be what you want it to be. 

The cost of development is high.

When you decide to build a project or tool from scratch, you have to consider so many factors:

  • Number of devs

  • Time

  • Other resources

  • Security 

  • QA

The points above will help you know the project completion date. it will be more expensive when you bring in more devs which will be seniors, imagine using only two senior devs to build a product like https://digitalax.gitbook.io/digitalax/,

it will take a longer time, and you must have spent more because they get paid every month, including a subscription to some packages, QA team, and product managers, yet the project is not yet live after 6months.

Before you get to the market, your competitors are already launching other ideas to complement their existing products.

Constant Security improvement

Security checks will come from your end because you handle most parts of the tool/project; you get to constantly check for vulnerabilities and hire a dedicated person for that role because most of the team is busy updating other parts of the project. 

Community adoption is low

Everything happens from scratch when you build a new product without an existing tool, and the main reason is that you are laying a new foundation that people will get used to in the long run.

If you use an existing tool like Moralis to build an NFT Marketplace, their community will quickly embrace it, and they will support your social media post to help you succeed.

Leveraging existing tools & technologies in building an NFT marketplace

Building a new product with an existing technology/tool is a welcome idea for new startups to look to reach the market quickly. It's never a bad idea to develop your product using existing tools.

Example: 

When you join a new company, you will notice they will create your personalized emails, add you to either slack, Discord, or teams to enable smooth communication within the company, and use Github or Bitbucket to store their codes. Below are tools 

  • Github

  • Notion

  • Confluence

  • Slack

  • Email service

  • Android open-source SDKs

  • Javascript open-source SDKs

  • Medium

  • Github action

  • Firebase

  • MongoDB

  • Etc

Other companies create the above tools to ease your work when starting your new company (paid or not-paid ) or project. You get to set up within minutes and start working; that is not the case when you want to build those tools yourself.

Many companies use open source libraries to build their ideas or paid tools. As a result, most of them are very successful. However, even after generating more funds, they still use other tools and do not build from scratch.

Pros

The benefits of leveraging on existing tools are:

  • The cost of development is okay

  • Build faster 

  • Community support

  • Easy to use

  • High Security

The cost of development is okay.

Building your project using existing tools might seem too expensive, but it's not because you have to consider so many factors like:

  • Infrastructure

  • Tools involved

  • Number of devs

  • Time 

  • QA process

  • Security check

Take a perfect look at the points stated above, you will see that you are spending more, and more time will be invested in it, which might lead to the project's failure. 

Build faster 

The time it will take you to build your project without using existing tools might lead to failure and disappointment. On the other hand, using existing tools might take 3 - 6 months to build the whole project working fine with few bugs because they have ready-to-use APIs, SDKs to make your work faster. But in the case of building the code from scratch, it will take you more than one year with lots of bugs, and you might be looking to add more devs to push it. 

Community support

They have the community set up to answer queries and share ideas, and you have their community to easily share your product for testing or have them advertise it for you as their client.

Easy to use

Most third-party build their project/library to be easy to use, starting from the installation to the usage.

For example, Third web: https://thirdweb.com/portal

has rich filled documentation and support to help you build faster and guide you.

High Security

The companies build their product to be very secure, and if any vulnerabilities are found, the engineers will fix them no matter the time it will take. A good example is the Polygon company, their gas fee price went so high, and now it's better. Why? Because the engineers are steadily ready to fix the issues, which will build more trust for their existing users.

Cons

  • Company lock-in 

  • No flexibility

  • No cost control

Company lock-in

When using a third-party solution, you're dependent on their services and must obey their terms and conditions even if they don't favor you. That's why it's common to write core application features from scratch and use third-party solutions only for their non-core elements.

No flexibility

Third-party solutions come with some limitations. You don't have enough room to customize your feature because the tool doesn't support that, and it just becomes too expensive at some point to add that functionality.

Finding the right third-party solution might be impossible if you're looking to build an original / custom feature.

No cost control

Not having control means the provider might increase the application's costs. 

Web 3Francesca Tabor