During my year at iCarto, I had a task that consisted basically of trying to find an efficient way to create tiles from a QGIS project.
They uses to create applications with multples features on maps. Usually with a base map over which uses to have several GeoJSON with a specific look and style. They were looking for a way where cartographers and map designers could export their designs directly from QGIS with no intervention of any engineer. Then Francisco Puga put me on the trail of a project called Tile Writer following a question in GIS Stack Exchange. It was and old project created by Alexander Hajnal that didn’t work in QGIS 3 which uses Python3 (with the change to version 3 his API experienced many changes too). So I spent a few hours updating to the new QGIS API and to work with Python3. Tile Writer is a Python script that runs from QGIS’ Python console. Check out the demo.