Checkout out how github's app works.