v3.25.2
Segment reporting and concentrations- Significant income statement (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Segment reporting and concentrations        
Revenues $ 58,393 $ 32,553 $ 116,737 $ 59,057
Direct operating costs 35,370 23,202 70,462 40,071
Gross profit 23,023 9,351 46,275 18,986
Selling and administrative expenses 14,112 9,020 29,092 17,325
Segment operating income (loss) 8,911 331 17,183 1,661
Interest income, net (577) 55 (704) (29)
Income before provision for income taxes 9,488 276 17,887 1,690
DDS        
Segment reporting and concentrations        
Revenues 50,576 25,410 101,406 45,116
Direct operating costs 31,177 19,331 62,279 32,479
Gross profit 19,399 6,079 39,127 12,637
Selling and administrative expenses 10,430 6,197 22,025 11,992
Segment operating income (loss) 8,969 (118) 17,102 645
Interest income, net (577) 54 (705) (31)
Income before provision for income taxes 9,546 (172) 17,807 676
Synodex        
Segment reporting and concentrations        
Revenues 2,065 1,986 4,079 3,857
Direct operating costs 1,618 1,530 3,079 3,002
Gross profit 447 456 1,000 855
Selling and administrative expenses 140 140 427 263
Segment operating income (loss) 307 316 573 592
Income before provision for income taxes 307 316 573 592
Agility        
Segment reporting and concentrations        
Revenues 5,752 5,157 11,252 10,084
Direct operating costs 2,575 2,341 5,104 4,590
Gross profit 3,177 2,816 6,148 5,494
Selling and administrative expenses 3,542 2,683 6,640 5,070
Segment operating income (loss) (365) 133 (492) 424
Interest income, net   1 1 2
Income before provision for income taxes $ (365) $ 132 $ (493) $ 422