Revenue
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 | 2006 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $118.1M | $85.8M | $42.6M | $48.0M | $42.2M | $16.6M | $924,419 | $250,227 | $292,508 | $154,015 | $151,005 | $42,480 | $30,096 | $0 | — | — | — | — | — | — |
| Gross profit | $71.5M | $52.8M | $23.6M | $26.3M | $22.9M | $7.5M | $149,007 | $64,159 | $101,188 | $58,998 | $35,065 | $15,157 | $12,717 | $0 | — | — | — | — | — | — |
| Research & development | $300,000 | $600,000 | $600,000 | $500,000 | $300,000 | $40,000 | $158,105 | $164,162 | — | — | — | — | $0 | — | $195,949 | $946,702 | — | — | — | — |
| Operating expenses | $59.6M | $46.1M | $31.4M | $34.0M | $26.2M | $11.8M | $3.4M | $2.1M | $2.0M | $1.8M | $2.2M | $2.7M | $1.7M | $1.9M | $831,280 | $2.3M | — | — | — | — |
| Operating income | $11.8M | $6.7M | −$7.8M | −$7.7M | −$3.3M | −$4.3M | −$3.3M | −$2.0M | −$1.9M | −$1.7M | −$2.1M | −$2.7M | −$1.7M | −$1.9M | −$831,280 | −$2.3M | — | — | — | — |
| EBITDAderived | $14.0M | $8.2M | −$6.5M | −$6.9M | −$2.8M | −$4.1M | −$3.2M | −$2.0M | −$1.9M | −$1.6M | −$2.1M | −$2.6M | −$1.7M | −$1.8M | −$820,494 | −$2.3M | — | — | — | — |
| Net income | $9.7M | $12.8M | −$8.2M | −$7.9M | −$3.3M | −$12.6M | −$4.4M | −$2.2M | −$2.8M | −$1.9M | −$2.4M | −$2.7M | −$2.0M | −$2.0M | −$901,558 | −$2.3M | −$3.0M | −$4.4M | −$4.8M | −$1.7M |
| Basic EPSper diluted share | $0.43 | $0.57 | -$0.37 | -$0.35 | -$0.22 | -$0.98 | $0.04 | -$0.02 | -$0.05 | -$0.04 | -$0.05 | -$0.06 | -$0.06 | -$0.07 | — | — | — | — | — | — |
| Diluted EPSper diluted share | $0.40 | $0.55 | -$0.37 | — | -$0.22 | -$0.98 | $0.04 | -$0.02 | -$0.05 | -$0.04 | -$0.05 | -$0.06 | -$0.06 | -$0.07 | -$0.03 | -$0.12 | — | — | — | — |
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Apr 15, 2026Form 4/A | Ganz BryanOther | BuyCommon Stock | 1.5K | $6.56 | $9.8K | 382.7K |
| Apr 15, 2026Form 4 | Ganz BryanOther | BuyCommon Stock | 1.5K | $6.56 | $9.8K | 382.7K |
| Oct 10, 2025Form 4 · 10b5-1 | Hughes HerbertDirector | SellCommon Stock | 5.0K | $29.00 | $145.0K | 130.2K |
| Oct 10, 2025Form 4 · 10b5-1 | Ganz BryanPresident and CEO | SellCommon Stock · indirect | 40.0K | $29.90 | $1.20M | 288.1K |
| Apr 22, 2025Form 4 | Rooney EmilyDirector | BuyCommon Stock | 2.5K | $20.50 | $51.3K | 37.6K |