Warrants to Purchase Convertible Preferred Stock (Details) - USD ($)
$ / shares in Units, $ in Millions
1 Months Ended 12 Months Ended
Jul. 31, 2018
May 31, 2017
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Dec. 31, 2015
Warrants to purchase convertible preferred stock            
Other expenses     $ 2.2 $ 0.8    
IPO            
Warrants to purchase convertible preferred stock            
Warrants to purchase aggregate 135,567          
Issuance of warrants exercise 131,273          
Shares withheld to pay exercise price 4,294          
Maximum            
Warrants to purchase convertible preferred stock            
Other income         $ 0.1  
Series A redeemable convertible preferred stock            
Warrants to purchase convertible preferred stock            
Maximum number of preferred shares can purchase from outstanding warrants           133,333
Warrants exercisable price           $ 0.60
Warrants contractual term (in years)           10 years
Fair value of warrants           $ 0.1
Series B convertible preferred stock            
Warrants to purchase convertible preferred stock            
Maximum number of preferred shares can purchase from outstanding warrants   2,234        
Warrants exercisable price   $ 8.39        
Warrants contractual term (in years)   10 years        
Series B convertible preferred stock | Maximum            
Warrants to purchase convertible preferred stock            
Fair value of warrants   $ 0.1