Web app camera component