vibe-qc

vibe-qc is an open-source electronic-structure code for molecules and solids, written in C++17 with a Python frontend. It implements Hartree-Fock, density-functional theory, and second-order Møller-Plesset perturbation theory (MP2) for molecules, with a growing periodic feature set built around the cyclic cluster model — crystalline-orbital HF and KS-DFT across 1D, 2D, and 3D lattices. Molecular results are validated against PySCF to machine precision. Periodic work is in active development.

The project is an experiment and a hobby, driven by curiosity about the current state of AI-assisted development and what it means for the future of scientific software. I built the first working version in a single day through vibe-coding — using AI tools to generate, iterate, and debug code at a pace that would have been unthinkable a few years ago. I continue to develop it the same way, pushing further to see how far this approach can go.

As someone who spent years during my PhD writing quantum-chemical code by hand — one integral at a time — the contrast is striking. vibe-qc is partly a technical project and partly a lens through which to watch AI reshape research workflows in real time.

Technical Foundation

The core is written in C++17 with a Python 3 user-facing API bridged via pybind11. External libraries include libint for Gaussian integrals, libxc for over 500 exchange-correlation functionals, spglib for crystal symmetry, Eigen for linear algebra, and OpenMP for shared-memory parallelism. Dispersion corrections use the D3(BJ) framework with Grimme’s dftd3 as the reference backend. Optional integrations include an ASE (Atomic Simulation Environment) calculator and MOLDEN, cube, XSF, and POSCAR file I/O.

What It Can Do

The Python API currently exposes restricted and unrestricted Hartree-Fock (RHF/UHF), restricted and unrestricted Kohn-Sham DFT (RKS/UKS), MP2 and UMP2 for molecules, and a periodic layer including band structure, density of states, and k-path utilities built on the cyclic cluster model. Visualization helpers for matplotlib and outputs for standard file formats are also included.

Status

vibe-qc is pre-1.0 (version 0.1.0, alpha), developed by a single person, and currently in a private repository at gitlab.peintinger.com. The documentation is live at vibe-qc.com, rebuilt daily from the main branch. The long-term direction is clear: the cyclic cluster model as a route to chemically meaningful electronic structure on extended systems — molecular accuracy carried into the solid state. That was the goal of my PhD work with AICCM, and vibe-qc is in many ways a continuation of that thread, now accelerated by AI.

Blog Posts

I have written about the project on this site:

I vibe-coded a quantum-chemical program in one day — the origin story: how AICCM became vibe-qc, and what it felt like to build a working quantum chemistry engine in a single day using AI tools.

The giants vibe-qc stands on: a guided tour of the stack — a deep dive into the scientific and software libraries that make vibe-qc possible, and why none of this could exist without decades of prior work by the community.

The project lives at vibe-qc.com.