  Semi-empirical quantum chemistry has recently seen a renaissance with
applications in high-throughput virtual screening and machine learning. The
simplest semi-empirical model still in widespread use in chemistry is
H\"uckel's $\pi$-electron molecular orbital theory. In this work, we
implemented a H\"uckel program using differentiable programming with the JAX
framework, based on limited modifications of a pre-existing NumPy version. The
auto-differentiable H\"uckel code enabled efficient gradient-based optimization
of model parameters tuned for excitation energies and molecular
polarizabilities, respectively, based on as few as 100 data points from density
functional theory simulations. In particular, the facile computation of the
polarizability, a second-order derivative, via auto-differentiation shows the
potential of differentiable programming to bypass the need for numeric
differentiation or derivation of analytical expressions. Finally, we employ
gradient-based optimization of atom identity for inverse design of organic
electronic materials with targeted orbital energy gaps and polarizabilities.
Optimized structures are obtained after as little as 15 iterations, using
standard gradient-based optimization algorithms.
