If you\u2019re looking to build technology around trust, transparency, decentralization or automation for your next business, a Blockchain application is the new way to do it. Building Your First Blockchain App \u2022 If you\u2019ve created an app, website or business, you\u2019ve used a database. Remember: when we say \u201cthe Blockchain\u201d, we\u2019re simply referring to a type of database \u2014 one that\u2019s massive, decentralized, peer-to-peer and cryptographically secure. \u2022 Apps are constantly making implementation choices based on security, performance and programming language constraints. When you base your application on Blockchain, it\u2019s really just another implementation choice. \u2022 Developing an app on a Blockchain will influence your programming language choice, app design and testing\/debugging processes. In turn, you\u2019ll receive transparency, security and automation (if you develop Smart Contracts). \u2022 Although the Blockchain community has grown significantly in the last several years, there still aren\u2019t that many blockchain apps or developers. There\u2019s tons of room for innovation and no better time to jump in on the Blockchain revolution than now. Application development for a Blockchain app begins the same way as any other app. What problem are you solving? Who are your users? Will it be open sourced? How will you differentiate yourself? Who\u2019s your competition? Answers to these questions will guide your development process from the get-go. It\u2019s important to note: Blockchain projects often take more time to build than your average mobile application or front-end project. Consider the amount of time it\u2019s actually going to take to build a Blockchain app before you start writing code \u2014 especially if you\u2019re building it yourself and even more so if it\u2019s your first time. Once you\u2019ve answered these high-level questions, you can focus on implementation. Ready to get started? SCOPING A BLOCKCHAIN APP In this section, you\u2019ll see the term \u201cDApp\u201d \u2014 decentralized application \u2014 quite a bit. We\u2019ll discuss DApps more in-depth later, but here\u2019s what you need to know now: DApps are open-source, autonomous, cryptocurrency-based apps whose backend is a Blockchain. There are three major approaches to building Blockchain apps: \u2022 Platform (Type I DApp) \u2022 Software (Type II DApp) \u2022 Specialized Software (Type III DApp) If you\u2019re a novice or this is your first time developing a Blockchain application, we recommend the Platform or Software approach. Forking Bitcoin or Litecoin code is a great way to learn Blockchain basics. Likewise, building a simple app on top of platforms like Ethereum is an excellent way to ramp-up early skills. Remember: There\u2019s no wrong choice here. The approach you choose ultimately depends on your project\u2019s goals, scope and the problem your application solves. \u201cPLATFORM\u201d (TYPE I DAPP) This means: Building a new Blockchain and token system, either from scratch or by forking existing Blockchains. This approach is like creating your own operating system that other people will eventually build on. Real world examples of DApp I projects include Bitcoin, Ethereum and Hyperledger Fabric, all of which are Blockchain platforms other developers can build on. Choose this approach if: You have a broad, systems-oriented vision and want other people to build apps and services on your platform. \u2022 Pros: You have creative direction over your new Blockchain and the ability to differentiate yourself in the Blockchain ecosystem. Building a new Blockchain by forking Bitcoin, Litecoin or other existing is also one of the best ways to learn how Blockchains work. \u2022 Cons: Building a Blockchain from scratch is difficult: it requires understanding everything from cryptography to peer-to-peer network programming. Creating a successful new platform requires careful design, planning and community-building \u2014 all of which can take hundreds of hours on top of the Blockchain development itself. This is why most new Blockchains are Bitcoin or Litecoin forks with a few new enhancements. \u201cSOFTWARE\u201d (TYPE II DAPP) This means: Building an app that uses a pre-existing Blockchain platform, i.e. Bitcoin, Ethereum, Hyperledger Fabric or similar. This approach is like creating an app that runs on a known operating system. Real-world examples include Golem, a \u201cdecentralized supercomputer\u201d which leverages users\u2019 spare computing power to process practically anything, and the Twitter-inspired EtherTweet. These are like software because they\u2019re built directly on top of a Blockchain like Ethereum. Choose this approach if: You\u2019re addressing a specific problem with a targeted solution. Whether it\u2019s an app or an API, you\u2019re developing on top of a specific Blockchain. \u2022 Pros: You\u2019ll benefit from an established community while still getting to design a scoped solution. Less technical knowledge is typically needed for this than the \u201cPlatform\u201d approach mentioned above since the blockchain platform natively handles cryptography and peer-to-peer networking. \u2022 Cons: Using an existing platform means inheriting that platform\u2019s limitations and bugs. \u201cSPECIALIZED SOFTWARE\u201d (TYPE III DAPP) This means: Building an app, plug-in or protocol that integrates with other Blockchain apps or protocols, i.e. any of Bitcoin\u2019s many existing open source projects. Real-world examples include the cloud-storage solution StorJ, which is built on top of MaidSafe, which is built on top of the SAFE Network. This approach is similar to building specialized software because it\u2019s not built directly on top of the Blockchain; it\u2019s built on a Blockchain-based service. Choose this approach if: You want to create a specialized solution on top of other community projects, but you don\u2019t necessarily care about directly building on the blockchain or forking Blockchain code. \u2022 Pros: You\u2019ll get the Blockchain\u2019s benefits and the ability to leverage robust features of community projects outside your own. \u2022 Cons: As with the software approach, you\u2019ll inherit the limitations and bugs of whatever community projects you work with.