| Schedule of Compensation Expense |
The following table summarizes the compensation expense we recorded related to unvested stock-based awards: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended | | Six Months Ended | | | June 30, | | June 30, | | (in thousands) | | 2026 | | 2025 | | 2026 | | 2025 | | Cost of revenues | | $ | 27 | | | $ | 45 | | | $ | 13 | | | $ | 83 | | | Selling expense | | 30 | | | 19 | | | 46 | | | 32 | | | Engineering and product development expense | | 25 | | | 10 | | | 37 | | | (1) | | | General and administrative expense | | 761 | | | 361 | | | 1,038 | | | 744 | | | Total stock-based compensation expense | | $ | 843 | | | $ | 435 | | | $ | 1,134 | | | $ | 858 | |
|
| Schedule of Stock Option Activity |
The following table summarizes the activity related to stock options without market conditions: | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stock Options | | Number of Options | | Weighted Average Exercise Price | | Weighted Average Remaining Contractual Term (yrs) | | Aggregate Intrinsic Value (in thousands) | Options outstanding, January 1, 2026 | | 876,925 | | | $ | 9.85 | | | | | | | Granted | | 162,021 | | | 14.47 | | | | | | | Exercised | | (330,149) | | | 10.34 | | | | | | | Forfeited | | (106,906) | | | 10.78 | | | | | | Options outstanding, June 30, 2026 | | 601,891 | | | $ | 10.66 | | | 7.9 | | $ | 4,522 | | | Exercisable | | 223,897 | | | $ | 10.19 | | | 6.2 | | $ | 1,789 | | | Expected to vest | | 378,968 | | | $ | 10.94 | | | 8.9 | | $ | 2,740 | |
The table below summarizes certain additional information with respect to our options without market conditions: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended | | Six Months Ended | | June 30, | | June 30, | | (in thousands, except per option amounts) | 2026 | | 2025 | | 2026 | | 2025 | | Weighted average grant date fair value per option | $ | — | | | $ | — | | | $ | 8.56 | | | $ | 4.61 | | | Aggregate intrinsic value of options exercised | $ | 1,902 | | | $ | — | | | $ | 2,208 | | | $ | 22 | |
|
| Schedule of Restricted Stock Awards Activity |
The following table summarizes the activity related to unvested restricted stock awards: | | | | | | | | | | | | | | | | Restricted Stock Awards | | Number of Shares | | Weighted Average Grant Date Fair Value | Unvested shares outstanding, January 1, 2026 | | 149,288 | | | $ | 9.67 | | | Granted | | 92,264 | | | 15.11 | | | Vested | | (104,036) | | | 10.67 | | | Forfeited | | (52,994) | | | 11.45 | | Unvested shares outstanding, June 30, 2026 | | 84,522 | | | $ | 13.50 | |
Additional information about our restricted stock awards is summarized as follows: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended | | Six Months Ended | | | June 30, | | June 30, | | (in thousands) | | 2026 | | 2025 | | 2026 | | 2025 | | Aggregate market value of RSA’s vested | | $ | 225 | | | $ | 94 | | | $ | 1,251 | | | $ | 344 | |
The following table summarizes the activity related to unvested PSAs: | | | | | | | | | | | | | | | | Performance-based Stock Awards | | Number of Shares | | Weighted Average Grant Date Fair Value | Unvested shares outstanding, January 1, 2026 | | 100,224 | | | $ | 10.58 | | | Granted | | 26,264 | | | 12.65 | | | Vested | | — | | | — | | | Forfeited | | (73,919) | | | 11.72 | | Unvested shares outstanding, June 30, 2026 | | 52,569 | | $ | 10.91 | |
There were no PSAs that vested in 2026 or 2025. We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock units: | | | | | | | | | | | | | | | | Restricted Stock Units | | Number of Units | | Weighted Average Grant Date Fair Value | Unvested units outstanding, January 1, 2026 | | 59,174 | | | $ | 7.96 | | | Granted | | 32,020 | | | 14.47 | | | Vested | | (16,306) | | | 8.14 | | | Forfeited | | (4,382) | | | 9.23 | | Unvested units outstanding, June 30, 2026 | | 70,506 | | | $ | 10.80 | |
Additional information about our restricted stock units is summarized as follows: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended | | Six Months Ended | | | June 30, | | June 30, | | (in thousands) | | 2026 | | 2025 | | 2026 | | 2025 | | Aggregate market value of RSU’s vested | | $ | — | | | $ | — | | | $ | 230 | | | $ | — | |
|