Annual report pursuant to Section 13 and 15(d)

Stockholders' Equity - Narrative (Details)

v3.23.1
Stockholders' Equity - Narrative (Details)
1 Months Ended 12 Months Ended 57 Months Ended
Mar. 15, 2023
USD ($)
Oct. 04, 2022
USD ($)
Jun. 03, 2022
USD ($)
$ / shares
May 25, 2022
USD ($)
May 09, 2022
$ / shares
shares
Mar. 01, 2022
USD ($)
Feb. 14, 2022
$ / shares
Dec. 28, 2021
USD ($)
Sep. 08, 2021
Aug. 10, 2021
$ / shares
Jun. 03, 2021
USD ($)
$ / shares
May 20, 2021
shares
Jan. 21, 2021
USD ($)
$ / shares
shares
Jan. 18, 2021
$ / shares
shares
Jan. 05, 2021
USD ($)
$ / shares
shares
Dec. 12, 2019
$ / shares
Jan. 24, 2019
$ / shares
Sep. 05, 2018
$ / shares
Apr. 12, 2018
shares
Jan. 31, 2023
shares
Dec. 31, 2022
USD ($)
$ / shares
shares
Dec. 31, 2021
USD ($)
$ / shares
shares
Dec. 31, 2020
Dec. 31, 2022
USD ($)
$ / shares
shares
Dec. 15, 2022
$ / shares
May 19, 2022
shares
Dec. 07, 2021
USD ($)
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Common stock, authorized (in shares)                                         50,000,000 50,000,000   50,000,000      
Common stock, par or stated value (in dollars per share) | $ / shares                                         $ 0.0005 $ 0.0005   $ 0.0005 $ 0.0005    
Preferred stock, authorized (in shares)                                         1,000,000 1,000,000   1,000,000      
Preferred stock, par or stated value (in dollars per share) | $ / shares                                         $ 0.0005 $ 0.0005   $ 0.0005      
Preferred stock, issued (in shares)                                         0 0   0      
Special cash dividend (in dollars per share) | $ / shares         $ 0.30   $ 0.30                             $ 0.30          
Payment to stockholders | $       $ 4,700,000   $ 4,600,000         $ 4,500,000                                
Proceeds from issuance initial public offering | $                                         $ 0 $ 35,135,000          
Accountable expenses | $                                         $ 5,905,000 $ 7,026,000   $ 5,905,000      
Fee, percent of sales               1.00%                                      
Stock repurchase program, term (in months)                 6 months                                    
Future issuance (in shares)                                         2,961,000     2,961,000      
Stock options outstanding (in shares)                                         3,952,000     3,952,000      
Issuance of common stock upon stock options cashless exercise (in shares)                                         1,833,000            
Exercise price (in dollars per share) | $ / shares                                         $ 10.03 $ 7.29          
Tax withholding cost | $                                         $ 7,474,000            
Share-based compensation expense | $                                         $ 4,500,000            
Weighted average period (in years)                                         3 years            
Subsequent Event                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Authorized amount | $ $ 6,000,000                                                    
Stock repurchase program, term (in months) 6 months                                                    
Issuance of common stock upon stock options cashless exercise (in shares)                                       1,348,250              
Over-Allotment Option                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares sold in public offering, common stock, percent                         6.00%                            
Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                         1,095,000            
Fair value of stock options | $                                         $ 6,600,000 $ 6,100,000          
2010 Director's Equity Compensation Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares authorized (in shares)                       775,000                              
Amended 2010 Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Common stock issued (in shares)                       4,900,000                              
2010 Equity Compensation Plan | Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                         325,000 1,249,874          
Exercise price, upper range (in dollars per share) | $ / shares                                         $ 12.01            
Vesting period (in years)                                         3 years 3 years          
Exercise price, lower range (in dollars per share) | $ / shares                                         $ 8.96            
2010 Equity Compensation Plan | Employees and Non-Employees | Vesting Period One                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Award vesting rights, percentage                                         25.00% 25.00%          
2010 Equity Compensation Plan | Employees and Non-Employees | Vesting Period Two                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Award vesting rights, percentage                                         75.00% 75.00%          
2018 Stock Incentive Plan | Chief Executive Officer                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                     2,300,000                
Issuance of common stock upon stock options cashless exercise (in shares)                                               1,650,000      
Shares issued (in shares)                                     2,300,000                
2018 Stock                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Fair value of stock options | $                                         $ 6,900,000 $ 6,100,000          
Share-based compensation expense | $                                         $ 4,000,000 3,200,000          
2022 Directors Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Future issuance (in shares)                                         180,000     180,000   300,000  
Stock options outstanding (in shares)                                         120,000     120,000      
2022 Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Future issuance (in shares)                                                   5,900,000  
Increase in shares for issuance (in shares)                                                   1,000,000  
Share Repurchase Program                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Authorized amount | $                                         $ 2,152,000 $ 944,000   $ 2,152,000      
Stock repurchased (in shares)                                         303,145,000 166,824          
Nebula Acquisition                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Common stock issued (in shares)                                         483,685            
Business acquisition, share price (in dollars per share) | $ / shares                                         $ 7.46     $ 7.46      
Cash payment | $                                         $ 3,600,000            
Nebula Acquisition | Mr. Kamal Obbad                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price (in dollars per share) | $ / shares                   $ 7.67                                  
Inducement Option Award                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Business acquisition, share price (in dollars per share) | $ / shares                                         $ 7.67     $ 7.67      
Exercise price, lower range (in dollars per share) | $ / shares         $ 6.74                                            
Inducement award amount | $                                         $ 1,128,000            
Minimum | Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, lower range (in dollars per share) | $ / shares                                         $ 6.44            
Minimum | 2010 Equity Compensation Plan | Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                                           $ 5.28          
Exercise price, lower range (in dollars per share) | $ / shares                                           5.28          
Maximum | Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                                         $ 12.92            
Maximum | 2010 Equity Compensation Plan | Employees and Non-Employees                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                                           $ 11.03          
Registered Direct Offering                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Common stock issued (in shares)                             550,000                        
Warrants (in shares)                             275,000                        
Shares issued (in dollars per share) | $ / shares                             $ 10.00                        
Proceeds from issuance of warrants | $                             $ 5,500,000                        
Warrants (in dollars per share) | $ / shares                             $ 11.00                        
IPO                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Common stock issued (in shares)                           3,000,000                          
Warrants (in shares)                         180,000                            
Shares issued (in dollars per share) | $ / shares                           $ 12.50                          
Warrants (in dollars per share) | $ / shares                         $ 15.625                            
Proceeds from issuance initial public offering | $                         $ 35,100,000                            
Public offering price per share, exercise price, percent                         125.00%                            
At the Market Offering | Sales Agreement                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Offering cost | $               $ 100,000,000                                      
Commission rate               0.020                                      
Accountable expenses | $               $ 60,000                                     $ 25,000
Legal fees | $               50,000                                      
At the Market Offering | Sales Agreement | Maximum                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Offering cost | $               $ 3,000                                      
CEO Options | 2018 Stock | Stockholders                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Special cash dividend (in dollars per share) | $ / shares                     $ 0.30         $ 0.25 $ 0.25 $ 1.00                  
Exercise price, lower range (in dollars per share) | $ / shares     $ 0.60                                                
CEO Options | Minimum | 2018 Stock                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                     1.20         1.50 1.75 2.00                  
CEO Options | Maximum | 2018 Stock Incentive Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, lower range (in dollars per share) | $ / shares                                   $ 3.00                  
CEO Options | Maximum | 2018 Stock                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                                 2                    
Exercise price, lower range (in dollars per share) | $ / shares                     $ 1.50         1.75 $ 2.00                    
Inducement Option Award                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                           100,000          
Award vesting rights, percentage                                         25.00%            
Inducement award (in shares)                                         250,000            
Exercise price (in dollars per share) | $ / shares                                           $ 5.76          
Inducement Option Award | Vesting Period One                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Award vesting rights, percentage                                         50.00%            
Inducement Option Award | Vesting Period Two                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Award vesting rights, percentage                                         25.00%            
Inducement Option Award | Mr. Kamal Obbad                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares authorized (in shares)         400,000                               250,000     250,000      
CFO Award | 2018 Stock Incentive Plan | Chief Financial Officer                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Special cash dividend (in dollars per share) | $ / shares     $ 0.30                                                
Inducement award amount | $     $ 1,604,000                                                
Reversal of stock based compensation expense | $   $ 149,000                                                  
CFO Award | Minimum                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, upper range (in dollars per share) | $ / shares                               6.44                      
CFO Award | Maximum                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Exercise price, lower range (in dollars per share) | $ / shares                               $ 6.74                      
Common Stock                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Stock repurchased (in shares)                                         303,145 166,824          
Issuance of common stock upon stock options cashless exercise (in shares)                                         828,021            
Shares issued (in shares)                                         828,021            
Shares withheld for tax withholding obligation                                         1,103,000            
Common stock repurchased | $                                         $ 7,500,000            
Common Stock | Subsequent Event                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Stock repurchased (in shares)                                       744,369              
Issuance of common stock upon stock options cashless exercise (in shares)                                       603,881              
Common Stock | 2010 Director's Equity Compensation Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                           225,126          
Shares issued (in dollars per share) | $ / shares                                           $ 5.28          
Common Stock | 2022 Directors Plan                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares purchased (in shares)                                         120,000            
Shares issued (in dollars per share) | $ / shares                                         $ 5.28     $ 5.28      
Common Stock | Inducement Option Award                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Shares issued (in dollars per share) | $ / shares                                         $ 13.00     $ 13.00      
Warrant                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Warrants (in shares)                                         5,986     5,986      
Cashless exercise of stock (in shares)                                         50,000            
Warrants outstanding (in shares)                                         855,000     855,000      
Share-based compensation expense | $                                           $ 253,000          
Weighted average period (in years)                                           1 year 10 months 24 days 2 years 8 months 12 days        
Warrant | Registered Direct Offering                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Warrants (in shares)                                         275,000     275,000      
Warrant | IPO                                                      
Accumulated Other Comprehensive Income (Loss) [Line Items]                                                      
Warrants (in shares)                                         180,000     180,000