feat: backend serves frontend