Backend is janky but usable