| USD millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 20.9 | 22.4 | 26.6 | 27.6 | 21.1 | 32.6 | +54.3% | |
| Cost of revenue | 16.7 | 17.7 | 19.3 | 20.7 | 21.2 | 27.3 | +28.6% | |
| Gross profit | 4.2 | 4.8 | 7.3 | 6.8 | (0.1) | 5.3 | +4558.4% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 3.3 | 4.3 | 5.1 | 5.1 | 4.3 | 0.0 | −100.0% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 3.3 | 4.3 | 5.1 | 5.1 | 4.3 | 4.8 | +13.7% | |
| Operating income | 0.9 | 0.5 | 2.2 | 1.7 | (4.4) | 0.4 | +110.1% | |
| Interest expense | 0.1 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.2 | 0.3 | 0.2 | −16.6% | |
| Other income / expense | (0.0) | (0.0) | 0.7 | 0.3 | 0.3 | 0.2 | −16.8% | |
| Pre-tax income | 0.9 | 0.5 | 2.9 | 2.0 | (4.1) | 0.7 | +116.7% | |
| Income tax | (0.0) | (2.7) | 0.8 | 0.6 | (1.0) | 0.3 | +127.4% | |
| Net income | 0.9 | 3.2 | 2.1 | 1.4 | (3.1) | 0.4 | +113.4% | |
| Discontinued operations | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Other net income adjustments | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| EPS, basic (per share) | 0.07 | 0.23 | 0.15 | 0.09 | (0.22) | 0.03 | +113.6% | |
| EPS, diluted (per share) | 0.07 | 0.22 | 0.15 | 0.09 | (0.22) | 0.03 | +112.4% | |
| EBITDA | 1.4 | 1.0 | 3.3 | 2.4 | (3.5) | 1.3 | +136.2% | |
| Depreciation & amortization | 0.5 | 0.5 | 0.4 | 0.5 | 0.5 | 0.6 | +9.9% | |
| Weighted average shares (shares) | 13,251,521 | 14,061,320 | 14,424,381 | 14,495,709 | 14,525,664 | 14,527,126 | +0.0% | |
| Weighted average diluted shares (shares) | 13,348,582 | 14,590,725 | 14,675,646 | 14,628,811 | 14,525,664 | 14,674,384 | +1.0% | |
| Gross margin | 20.0% | 21.3% | 27.5% | 24.8% | −0.6% | 16.2% | +16.8 pts | |
| Operating margin | 4.4% | 2.3% | 8.4% | 6.2% | −20.7% | 1.4% | +22.1 pts | |
| Net margin | 4.4% | 14.3% | 8.0% | 5.0% | −14.8% | 1.3% | +16.1 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.