qrcode generation standalone (dont depends on external services)