Let's talk about the mobile only world: would a native mobile app be self-verifying in that only a mobile phone could download and use the app - so every review requires a real smartphone to post the review. Although "reputation" companies could game this situation by buying 1000 smartphones, but then you would have 1000 smartphones with the same pattern of up-posting such that it would be easier for an algorithm to recognize these "planted" phones.