Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #5

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

#Apple data
*.DS_Store

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
56 changes: 56 additions & 0 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Build Process
_Transform raw code into a browser-ready preview... offline_

This package contains all of the original code ([src/](./src/)) and a custom build script with preprocessors.

## Installation

Ensure you have a recent version of [node & npm](https://nodejs.org/en/download/) or [yarn](https://yarnpkg.com/en/docs/install) installed.

All of the following steps run on the command line within this directory. You can substitute `yarn` for `nom` if you prefer to not run things concurently.
Install all the necessary packages:

```
yarn install
```

## Serve

Run a local server that will automatically compile your code & refresh when you save a change!

```
yarn serve
```

---

## Build

To build for distribution:

```
yarn build
```

All of the final output will be dropped into the [/dist/](./dist) folder.

## Folder Structure

```
/exported-item/
|-- /build/ - Build scripts
| |-- gulpfile.js - The tasks for the main build process
| |-- util.js - Utilities used by the tasks
|
|-- /src/ - Your code
| |-- index.template.html - The wrapper around your compiled HTML that includes any external stylesheets and scripts
| |-- index.partial.(html|pug|haml|...) - The raw HTML input or preprocessor equivalent
| |-- style.(css|scss|less|...) - The raw CSS input, or preprocessor equivalent
| |-- script.(js|ts|coffee|...) - The raw JavaScript input, or preprocessor equivalent
|
|-- /dist/ - The compiled output after running `npm run build`
| |-- index.html
| |-- script.js
| |-- style.css
|
```
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,20 @@
### The LT2D client runs in your browser, without installing anything else on your computer.
### LT2D allows very efficient collaboration. Users can stream their whole desktop or only specific windows or even colaborate in shared LT2D Apps.

## Licence

### This Software is distributed under the terms of the AGPL License.

## Installation
# Installation

### On the client side, no installation is necessary. You just point your browser to your LT2D URL.

#### Requires https://github.com/robinmoisson/staticrypt

staticrypt ./src/index.html \
staticrypt ./src/space/template/index.html \
password \
-t "Meet Freely" \
-i "Veuillez entrer le mot de passe de cette semaine. // Please enter the password for this week." \
-f ./staticrypt-gh-pages/cli/password_template.html \
-o ./html/space/template/index.html
-o ./html/space/example/index.html

# License

##### Copyright 2019–2021 12787326 Canada Inc.
##### Licensed under the AGPLv3: https://opensource.org/licenses/agpl-3.0
146 changes: 146 additions & 0 deletions STARTR_BLOCKS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
The following is a scafolding document. It outlines the important issues that need to be dealt with while a startup is in the intial growth phase. It's a quick read and you can jump to any section below.

Mirror https://github.com/opencoca/startr/new/master/web/STARTR_BLOCKS.md

[toc]



# STARTR BLOCKS - This is a working title

Instead of an exact business startup timeline, I've split the process into blocks dealing with specific issues: product, legal, financial, and HR-related.

We can, and should, combine some points on this list and complete them in parallel. By dividing the tasks on our small business startup checklist, our team can launch and succeed in no time.

Before diving into the depths, here are a few figures to bolster our spirits:

- The number of small business entrepreneurs in North America surpassed 35 million in 2019, even if [only half of the startups](https://fortunly.com/statistics/startup-statistics/#gref) made it more than five years.
- It takes as little as a week to start a business in North America.
- [Many successful small businesses](https://www.embroker.com/blog/startup-statistics/) start with less than $10,000 in funding. Most rely on founder capital, bank loans, and credit lines to finance operations.

## Overview

This process requires us to:

1. [**Develop a Minimum Viable Product**](https://freshcodeit.com/freshcode-post/how-to-create-mvp-guide)**:** For getting early adopters' feedback and potentially fundraising, utilize a working prototype or MVP.
2. **Establish company's brand:** Make sure we communicate our company's image when communicating with customers.
* **Prioritize user-centric** [**UX/UI design**](https://xd.adobe.com/ideas/career-tips/16-experts-explain-ux-design-and-what-they-do/): Conduct usability testing & simplify the product.
* **Tighten our value proposition**: Develop user stories and personas - make it intuitive for users.

1. [**Choose marketing channels**](https://executive.mit.edu/on/demandware.static/-/Sites-master-catalog-msee/default/dw8e890eb9/brochures/Digital Marketing and Social Media Analytics DMS 3.1.2021.pdf)**:** For maximum awareness, combine SEO, social media marketing, PR, and word-of-mouth.

2. **Develop a business launch strategy:** This is ideal for carving out a niche and gaining the target audience's attention.

3. 1. **Set up distribution channels:** Establish an **automated sales system** and connect online and offline sales funnels.
2. **Harness our data:** Collect product performance metrics, such as acquisition, activation, retention, and revenue.
3. **Scale-up our offer:** When MVP development pays for itself and starts generating profits, we may want to think about adding new features or expanding into new markets.

This must all be done while avoiding **extralegal** legal actions and managing finances.



## CREATE AN IDEA - An MVP

**(This has been done over this the past year and is mostly complete. We are currently missing necessary automation steps).**

Startup incubators such as YCombinator have [RFSes](https://www.ycombinator.com/rfs/) (request for startups), these are large lists that outline the concepts they are willing to fund and nurture. We can jump on one of these or refine our unique idea. While we are still pumped with the exhilaration of a chance to change the world, we should all go over these steps to ensure our concept is worthy of our time and money.

1. Validate the idea. Ensure it solves a real-life problem that can be monetized. (**This has been done over the past year.**)
2. Make sure our vision is viable. Be certain that the real-life problem can be solved. (**This has been done over this past year. At this point, we have an MVP that lacks some vital automation**.)
3. Evaluate market size. Learn what our potential market is and what competition there is. (**Market research is being finalized for early April**).
4. AGPL Licensing and Open Source TODO I need to expand on the importance of this...
5. Prepare our family and friends. Explain our new commitment and get everyone on board.
6. Be sure we want this. Be honest with ourselves about our motivation and goals before we move forward.

## FIND OUR NICHE - MARKET FIT

We need to convert our customers to sales reps.

According to the [CBInsights](https://www.cbinsights.com/research/startup-failure-reasons-top/), 42% of startups fail because there's no market need for their product. To ensure our project doesn't have this problem, we must think about the product/market fit right at the project's beginning. The moment that our customers become our sales reps is one of our biggest revenue drivers. (**We have already passed beyond this, teams are seeking us out, and we are slowly rolling things out**)

When we have happy customers who are eager to share their remarkable experiences, we attract business. We need to reach the point at which at least 40% TODO ADD SOURCE of our users would be sad to see our platform disappear. To get to this point, we need to:

1. **Identify our target audience:** retain laser focus on the few archetypes or personas most likely to become our advocates.
2. **Focus on one offer:** Rather than fulfill everyone's needs and desires, we **initially** focus on our core offer.
3. **Tighten our value proposition:** Identify the benefits our customers can receive nowhere else and ignore the urge to dilute the core product with extra offers.
4. **Rinse and repeat.** Once we've achieved product/market fit, we cannot guarantee it will remain so for the long run. We need to stay flexible and look at our audience's needs and core offers regularly using our customer feedback and market trends.



## BUSINESS STRUCTURE

Setting up a business takes a little time and paperwork. Despite this, we need to take our business structure and brand name seriously since they are unlikely to change anytime soon. Even if we decide to shorten or change the company name later, we will need to go through the same steps:

1. **Refine business structure:** Startups often start as sole proprietorships, partnerships, and corporations. There are a few alternative structures, but partnerships and corporations are the most widely used in Canada. There are benefits and drawbacks to each regarding liability, day-to-day operations, and tax reporting. (This has been done)
2. **Refine and register our brand name:** brainstorm, research, and potentialy survey customers. After you have narrowed down the possibilities, find out which ones are available. After registering our business according to the chosen structure, we can file for a trademark to protect our intellectual property. (This has been done in December, and we can further refine it.)

## WRITE A BUSINESS PLAN

According to [HBR](https://hbr.org/2017/07/research-writing-a-business-plan-makes-your-startup-more-likely-to-succeed), written business plans lead to 16% higher chances of success. The planning process helps us develop better ideas, maximize their potential, hire the right people, secure funding, and sell our business if we want to.

Many off-the-shelf business plan templates exist; there's no one correct way to create ours. With that in mind, we must always include the following crucial sections:

1. **Executive summary:** This introduction should be the last part we write. This is a condensed version of our business plan that explains our business and product in just a few paragraphs.
2. **Company description:** Our growth strategies, values, mission, and structure.
3. **Offer description:** Provide detail about the unique value proposition which we will provide to customers. **This is where our pricing model should also appear.**
4. **Market analysis:** That's where we can formalize all the research we've done into our target audience, competition, and niche as a whole. You may include user personas and segments.
5. **Marketing and sales plans:** What is the most impactful way to launch our platform, attract leads, and convert them into paying customers? This section should include our primary marketing channels and platforms and Customer Relationship Management (CRM) tools.
6. **Team structure outline:** With all our plans laid out, we think about how many people we need and which roles they should take. Additionally, we want to consider future scaling possibilities and how much additional talent we need to accommodate growth.
7. **Financial requirements and plans.** At this stage, we need to estimate how much money we need to build the product, hire the talent, and make everything ready. Our financial requirements should go over what we need to raise to implement the idea. We should also include our revenue streams and expected profit figures and sales goals, and financial variables that may affect our financial situation.

With our business plan ready, we will have a clear picture. Our idea will be more likely to attract investors if needed.



## EXPAND THE TEAM

Whether we start an offline or an online business, we need a team to work on it. Even if we feel we can do everything on our own and have no money to hire anyone, we need a little extra input on decisions.

Our project is 30% more likely to be backed by investors [if we have co-founders](https://thenextweb.com/entrepreneur/2013/10/10/how-many-cofounders-does-your-startup-need/).

So, before we move any further with our business idea:

1. Establish a founding team: Manage responsibilities and balance business decisions by getting the right people involved.
2. Build a company culture: Keep our company's mission and values in mind during development and market it using them.
3. Set up a communication framework: Develop meeting templates, start a wiki, decide on communication channels.
4. Choose project management tools: Identify bottlenecks and track the development progress.
5. Split the tasks: work in-house and with out-sourced teams for increased efficiency and budget savings.

## MARKETING AND SALES STRATEGY

Even if we do not yet have a name for our company, it's never too early to start thinking about marketing and sales. No matter how great an idea may be, it won't succeed unless we can successfully share it with others.

When we know who we are going to sell our product to, how we're going to do it, and how much money we're going to make, we'll be ready to take the plunge and make things official.

1. **Brand identity development:** It's essential to decide what emotions we want to inspire. We want to convey what values? We need to share and keep the message consistent throughout all communication channels. Setting up our brand identity early on will promote brand recognition and loyalty.
2. **Online presence building**: Once we have established the target audience and brand identity, we can set up social media platforms and advertising accounts to attract the first prospects. Email, newsletter, blog, and website are equally crucial for both marketing and sales strategies.
3. **Sales funnel set up:** Generating traffic won't help us break even, but turning leads into customers will. **We need to automate our conversion strategy to ensure the highest conversion rate.**
4. **Sales tools set up:** It is imperative to prioritize CRM development, even if we begin with a simple spreadsheet listing customer information and purchases. Our custom CRM will become a crucial part of our sales infrastructure.
5. **Sales goals:** Suppose we've written the business plan already. In that case, we know how many sales we need to make to break even and let our business grow. We need to prime our team to meet these goals, analyze why they can't be met, and quickly respond to occurring problems.

## AVOID LEGAL ISSUES

When starting a business in Canada or anywhere else in the world, we will face dozens of legal decisions. Instead of wasting our time translating legalese into English, find a competent attorney, and ask for advice. We may want to hire a lawyer to handle delicate legal matters. We can negotiate a deferred payment or offer stocks for their services if our budget cannot take on an attorney's charges.

While there are many more possible precautions, we should at least:

1. Find a lawyer: Let them help with incorporation, licensing, permits, contracts, and intellectual property ownership.
2. Allocate equity—split equity among the founding team members interested in the long-term success to avoid future misunderstandings.
3. Research and set up business insurance policies: Property insurance and general liability insurance should be purchased.

## TAKE CARE OF FINANCES

Our financial strategy should include everything from fundraising and accounting to exit options.

Running out of money is the main reason small business owners fail. However, starting a finance checklist accounts for more than just fundraising. Our financial strategy should include everything from fundraising and accounting to exit options. If we have several backup plans to get us out of financial trouble, our startup will be more likely to succeed.

To avoid problems with money when starting a company, we should:

1. Open a business bank account and credit card. Keep our personal and business finances separate for easy reporting.
2. Establish an accounting system to simplify and automate financial and tax reports.
3. Create a pitch set. Craft our fundraising elevator pitch, executive summary, and pitch deck.
4. Update our founding team's online profiles. Make our Facebook and LinkedIn professional and investor-ready.
5. [Raise money](https://freshcodeit.com/freshcode-post/startup-funding-ideas). Choose between bootstrapping, loans, equity financing, crowdfunding, or a combination.
6. Explore exit options open. Be ready to sell our company, go public, or keep running the business in perpetuity.

### Mirror https://github.com/opencoca/startr/new/master/web/STARTR_BLOCKS.md
Loading