The Python code smhr (Spectroscopy Made Harder) wraps the MOOG spectral synthesis code (ascl:1202.009) to analyze high-resolution stellar spectra. It offers numerous analysis tools, including normalization of apertures, inverse variance-weighted stitching of overlapping apertures and/or sequential exposures. The code also provides Doppler measurement and correction, automatic measurement of EWs, and multiple methods for inferring stellar parameters; further, it measures elemental abundances from EWs or spectral synthesis and performs a rigorous uncertainty analysis. smhr can be run automatically (in batch mode) or interactively through a graphical user interface. Analyses can be saved to a single file for, for example, distribution to other spectroscopists or release with a publication.