Bootstrapping a dApp focused business in the NEO ecosystem
For the City of Zion’s third competition the Ryu Coin team wrote this guide on how to bootstrap a dApp (decentralized application) focused business in the NEO ecosystem. As we are a three person startup based in the United States this tutorial is focused towards companies of a similar size and background.
This tutorial will cover the following points:
- Creating a Team
- Business Operations
- Product Design
- Community Development
The goal of this tutorial is to provide a high level overview to teams just starting out all the way to having a functioning team and product.
Creating a Team
Having a strong and well rounded team, while potentially obvious, is incredibly important. Something important we’ve learned through the process of creating a company is that there is a lot we don’t know — and it’s vital that you surround yourself with people who know more than you.
A successful company does not necessarily require multiple founders — but it does require both technical knowledge and a good understanding of business. Too many founders can be challenging, especially if you don’t have experience working with them before. Compatibility with your cofounders will go a long way — especially if you work with them as much as we work together.
Three cofounders seemed to be ideal for Ryu Coin, but that number could be different for your project. The most important thing you can have is drive and the desire to learn. Our backgrounds are all completely different, Wyatt is a software developer, Ross has experience in journalism/marketing and economics and Noah studied Neuroscience. While our backgrounds inform what roles we take, there is a lot of overlap. Ross has taught himself to program, and taken over development of our website and helps with both our desktop app and mobile app.
Cast a wide net when finding advisors. Identify people who can bring value to your business and reach out to them. You don’t have to know them, just start a conversation and work from there.
Good advisors can be the difference between having a fun side project and starting a company — they can really take your idea to the next level. Our advisor Tony Wilkins has years of experience advising startups in the Chicago area and helped us come up with a framework for working as a team. Our advisors Asaf Meir and Shimon Mazor guided us away from developing on Ethereum to the faster and more affordable (in terms of Gas fees) NEO. That single decision made Ryu Coin viable as it this brought our minimum wager size down from $5 to under $0.00001.
Depending on what your idea is, it might make sense to establish partnerships with other companies. When you’re just starting out, this can be incredibly hard — especially if you are doing this pre-product and/or pre-revenue but can give some legitimacy to your idea.
When we began, we were not so sure how game developers would respond to our idea. Noah contacted game developers and reworked his message countless times (as we say about almost everything, it’s an iterative process). After nailing down our first developer partner it wasn’t long until we found three more. This interest in our idea also cemented that what we were doing was worth it and that we should go for it 100%.
Identify a Problem and Develop a Solution
Find something that’s broken or a market where a solution just doesn’t exist. Improve on a current idea or make something new. Coming up with that billion dollar (50 million NEO?) idea is crucial.
Scope Out the Market
Find out who else is working on your idea or on something similar. This will solve two things: seeing if someone else is way ahead of you and seeing if the market exists (or will exist). You want to ensure that if you make a cool dApp that people will actually use it.
Creating a Business Plan
How do you plan to make money and operate? There are a lot of resources online to learn how to do this, for example: https://www.entrepreneur.com/article/76140
Once you’ve identified your market and begun to figure out how you plan to operate it’s time to figure out how much money you think you can make. The goal here is to plan out your timeline and help once you get to fund raising. Projections are hard, especially in the crypto world. There are good resources online for making projections, check out: https://www.equidam.com/startup-projections-how-to-start/
Writing a White Paper
A white paper is the consolidation of your business plan, market research, technology overview and a timeline of business operations. It is a great way to gather all of your data together into one place to convey your project to others. This will help people make decisions on whether they are going to follow along with your project, contribute to a token sale and eventually use your product.
Take a look at some of these white papers (this is not an endorsement of any of these projects):
- (Ours) Ryu Coin White Paper
- Travala White Paper
- Cool Cousin White Paper
- Switcheo White Paper
- Civic White Paper
A good way to plan out your day-to-day operations is through an organizational method called a Gantt Chart. With a Gantt Chart you can see what goals you’ve achieved and what is still left to do. You can break down responsibilities by person and by categories of work (tech vs. marketing etc).
You should plan out short term (1–2 weeks), medium term (1–3 months) and long term goals (6 months and longer). This will help you follow your roadmap and stay on schedule with your work. Don’t be afraid to be constantly updating your goals as your company develops.
NEO Global Development, CoZ and NEL
NEO Global Development offers numerous resources to teams building on NEO. As noted in the NGD August Monthly Report, there were numerous events in both Japan and China, online courses, hackathons and conferences. If you run into trouble the NGD team is there to help.
The NEO community is relatively small so it can be exceptionally easy to get help directly from those who are developing the technology you are using. Take advantage of that.
If you ever have questions or need help, make your way to any of these places:
Creating a good dApp is hard — just take a look at DappRadar, which tracks the amount of users. Not even the most popular dApp can sustain 500 daily users. Product design is a tedious and iterative process.
Develop your solution. Don’t actually make it yet — plan it out. Wireframe the idea, first with just a pencil and paper or on a whiteboard. When we first started we had the walls covered in diagrams.
Next make something a little bit more clean — use something like photoshop, sketch or pixlr. Have a good idea of what you want it to look like. At this point, it is not about the technology or how it will be implemented — technology won’t be what holds you back. Show people what you came up with and try to get some constructive criticism and improve upon your idea.
The technical side of building a dApp can require a lot of work. dApp development does not just include smart contract design but can encompass all types of software development. Before you can develop your dApp you need to identify what your tech stack is going to be (how you actually build it).
For example, the Ryu Coin project consists of a desktop app, mobile app, server side code and smart contract.
- Like Neon Wallet, our desktop app is coded with Electron JS. Other popular frameworks for frontend development include React, Angular and Ember.
- Mobile app development can be done natively in Swift and Android or use a hybrid like Ionic or React Native. Like the O3 Wallet for iOS, our iOS app is being developed natively in Swift 4. If you don’t already have mobile development experience, I would recommend learning React and using that and React Native for developing your desktop and mobile applications. Then have these applications interact with the NEO blockchain using the City of Zion’s Neon-js.
- Backend development in the NEO ecosystem can be done using Node JS and using the City of Zion’s Neon-js library to interact with the NEO blockchain.
- Smart contract development can be done in numerous languages. Our smart contract development was done using neo-python and neo-boa. You can learn how to start using the neo-python cli here: https://neo-python.readthedocs.io/en/latest/overview.html#getting-started — You can also learn how to start developing smart contracts in neo-boa here: https://github.com/CityOfZion/neo-boa/tree/master/boa_test/example
All that being said, CoZ has tons of projects to use to interact with the NEO blockchain and depending on the amount of development experience you have, there may be a better tech stack for you than what was previously mentioned. You can check out the CoZ’s Awesome NEO repo on GitHub, a curated list of awesome NEO libraries, applications and resources.
Once you have an MVP of your product it’s time to start testing. Release your applications to GitHub and your smart contract to the testnet then have people start using the dApp. Find out what’s broken and what can be improved. You’ll gain a lot of insight from the questions and comments you receive while testing.
Take what you learned from testing and go back to the drawing board. Figure out what can be improved and make those changes. Then test it again and see what needs to be reworked. This process is iterative and will continue even once you’ve deployed the project to the mainnet.
Nothing in this section constitutes legal advice. This is merely a guide on what different types of legal issues you should be thinking of when starting a dApp business. Seek a legal opinion when making important decisions.
Forming a Company
Forming a company in the United States can be complicated. First you need to come up with a name for your company and check to ensure it is still available. Next you need to choose what type of company you want to start.
There are different types of companies, the main two being the Limited Liability Company (LLC) and the Corporation (INC). You can read more about the pros and cons of an LLC vs INC as well as the C-Corp vs S-Corp here: https://www.legalzoom.com/business/business-formation/compare.html
Once you’ve decided on what type of company you want to have, you need to decide where you want to form the company. The pros and cons differ by state with different reporting requirements and fees. You can find the incorporation fees for each state here: https://www.secretentourage.com/entrepreneur/how-much-it-costs-to-incorporate-a-business-in-all-50-states/
When you know your desired name and where you want to incorporate you next need to file your articles of incorporation. If you aren’t exactly sure how to do this you can use a service like Legal Zoom to do it for you. Incorporating a Corporation through Legal Zoom for example can range from $149 to $369 + state filing fees.
Next you’ll need to draft a shareholder agreement with your cofounders. This is not required, but having a clear understanding of your corporate governance will help prevent any internal arguments that could arise in the future. The earlier you do this, the better.
Apply for any licenses or permits you may be required to have to operate in a given state: https://www.sba.gov/business-guide/launch-your-business/apply-licenses-and-permits
Get a tax id number from the IRS (EIN) and open a corporate bank account: https://www.sba.gov/business-guide/launch-your-business/open-business-bank-account
Lastly, find a place to work. As a startup it can make sense to live at home to save money, but once you bring in some money it may be better to get some office space at a place like WeWork. It’s important to work in a place where you will be productive. A separation of work and home can make you much more productive: https://www.fastcompany.com/40502893/this-is-how-working-in-bed-impacts-your-productivity
Depending on what you are creating you may want to pursue intellectual property protection. In the United States you can do this in a few different ways:
You can use these to protect your brand and/or your ideas from being copied by others. A patent or trademark through the USPTO (United States Patent and Trademark Office) can be enforced internationally too. You can read more about enforcement here: https://www.uspto.gov/learning-and-resources/ip-policy/enforcement
You should also take into account managing the ownership of what your employees are creating while working for you. You may consider having team members sign an agreement saying that all work done on behalf of your product development is owned by the company. This can be managed easily using something like a team GitHub account.
Do you want your code to be open source or closed source? If open source, what type of license are you considering? Some open source licenses, like the MIT license or the BSD license, allow for anyone to use your code without restriction (permissive software licence). Others, such as the GNU General Public License, allow for free use of your code but require any derivates to offer the same license (copyleft). You can see a full list of the Open Source Initiative approved licenses here: https://opensource.org/licenses/alphabetical
Securities regulations in the United States can be both complicated and ambiguous — see Howey Test. Therefore, the best thing you can do is hire a good lawyer. For example, the Ryu team hired Convex Legal from Chicago who have done an amazing job helping us throughout the process. If you are planning on creating your own token, conducting an airdrop/bounty program, doing a token and/or equity sale and are operating in the United States then you must hire a securities lawyer. Failure to follow the relevant laws in the United States will not go unnoticed. The SEC recently cracked down on Tomahawk Exploration LLC for numerous infractions. There is a way to legally create a dApp business and conduct a token sale (with either a utility or security token) in the US and follow the guidelines already outlined by the SEC — but get a legal opinion first.
When you’re first starting out there’s going to be some upfront costs. Prepare to pay for hosting fees, websites, incorporating your company and a few other minor expenses. Some places will let you differ payment for an additional cost, but the founders will need to pitch in some money to get started. If you’re in school, apply for grants or try to compete in some competitions. Up until you are able to raise some funding for your company, the founders will be responsible for bootstrapping the company completely.
When you are ready to fund the development of your company you will need to raise some seed capital. A seed round will give some legitimacy to your company as other people will now have stake in the success of your company. Most startups raise their first round from friends and family. You should use this seed money to get the company off the ground and to develop the first iteration of your product.
Conducting a token sale is a good way to raise additional funds and to build out your network. Token sale funding can help expand your team and give your company the resources to grow rapidly. As J.R. Willett, the inventor of the token sale, told the Ryu team — without a token sale a lot of really good ideas would never have received the funding they needed to take off. Conducting a token sale (within the guidelines set by the SEC) can be a very effective way to grow — which US companies are doing in one of two ways:
Having a strong community behind your project is paramount. It doesn’t matter how good your idea is, if no one knows about it then they won’t use it. Start building your community early, it takes time.
Having a website is incredibly important. This will be where the first impression is made. When you’re just starting out it’s perfectly fine to have just a landing page and a mailing list sign up page.
Check out the following website making tools:
If you have web development experience already you may prefer to create your own website from scratch and host it yourself. Hosting can be done a lot of different ways, such as with GitHub pages or with Amazon EC2 and Apache — which is very easy to setup.
It’s very important that you have your own domain name. Domain name can impact your SEO (search engine optimization). They can be relatively cheap depending on your name and can be purchased from many different places, like GoDaddy.
A mailing list can be effective way to reach your followers. Some people don’t use social media as much but can still be valuable members of your community. Start a mailing list early and make sure to send out emails as often as you do social media posts. We use MailChimp.
You should have accounts on all of the most popular social media channels where you operate. For us, that’s Facebook, Twitter, Reddit, LinkedIn, Medium and Telegram. Post content there somewhat regularly (you don’t want to overdo it) and ensure that the content is high quality (product releases/updates, new partnerships, etc). You should use a social media management software like Buffer or HubSpot in order to post to all of your channels at once. When asked a question on one of your channels try to answer as quickly and thoroughly as possible (without being repetitive).
Roadshow and Traveling
Another good way to build your community is to get out there and meet people. During our summer roadshow we went to Tokyo, Hong Kong, Singapore, Washington D.C., New York, San Francisco, Seattle, Chicago and Boston. We met hundreds of people from all over the world working on hundreds of different companies. We got in front of people we would have had no chance of meeting had we not gone. A roadshow can help spread your project into new markets and connect you with potential advisors/investors/team members/etc.
While this might seem like an overwhelmingly large amount of work in order to start your own dApp focused business, there are a lot of resources and people out there looking to help you. Just keep track of your goals and work hard. Good luck!