Figure Schematic sketch of the data workflow from input to output. By using the CLI or Jupyter Notebook, the user input and input data will be selected. Next, data will be passed to the core routine consisting of three sub-routines: data processing, fitting & optimization, and output processing. Data processing refers to transforming the input data-based user input into a machine-readable data format (standardized format). The input data will be analyzed and fitted using a standardized internal format, which is an iterative process. Fitting is closely related to optimization rules. Once the fitting optimization is complete, the output processing or post-processing will be automatically performed, followed by the report generation. SpectraFit uses object-oriented software design to ensure that the modular, reusable software components called objects interact independently with each other through well-defined inter.