Desktop software · In production

Kameleon

Converting a file usually means handing it to a stranger's server. Kameleon does the same work locally across more than 3,100 format combinations, and the file never leaves the machine.

SystemLocal-first universal file conversion
StatusIn production
Engineering areaDesktop software

More than 3,100 conversion combinations across documents, images, audio, video, archives, and structured data, every one of them running on the machine, with nothing uploaded anywhere.

Core capabilities

  • Convert across more than 3,100 format combinations
  • Handle documents, images, audio, video, archives, structured data, and specialised formats
  • Run every conversion on the machine, with no file transmitted anywhere
  • Convert whole folders and process queued batches
  • Combine bundled encoders with conversion paths implemented for Kameleon
  • Execute conversion and system-level operations in Rust
  • Report progress, failure, and recovery clearly for every job
  • Isolate conversion work from the interface so the application stays responsive

Why it exists

Converting a file normally means handing it to a website. For a holiday photo that is fine; for a contract, a medical record, a financial statement, or unreleased work it is not. The file is uploaded to infrastructure its owner does not control, retained for an unknown period, under terms nobody reads. The desktop alternatives tend to be narrow, one tool per format family, and often arrive wrapped in an installer nobody asked for. Kameleon does the whole job locally: the file is read from disk, converted on the machine, and written back. It runs inside Senon Solutions and ships to clients as an enterprise product.

The format matrix

Coverage runs to more than 3,100 conversion combinations across documents, images, audio, video, archives, structured data, and more specialised formats. The count is the point, because conversion is combinatorial rather than linear. The useful question is never how many formats a tool lists but which pairs actually work, and whether PDF to DOCX and PDF to PNG are both handled by the same application rather than two. Behind that matrix is a mix of bundled encoders and conversion paths written for Kameleon: mature tools are used where they are already the right answer, and the gaps between them are implemented directly rather than left as unsupported pairs.

Engine and interface

Conversion and system-level work run in Rust; the interface and workflow layer are TypeScript. The separation is not cosmetic. It keeps a long-running or failing conversion off the interface thread, so progress, errors, recovery, and output handling stay predictable regardless of the format or the size of the workload. Work arrives as whole folders or as queued batches, so that isolation holds whether the job is a single file or several thousand.

Next conversation

Interested in building something great?

Start a project