So I assume you have the polygons already that need to be buffered and you have distances (in meters or feet depending on your projection system).
No matter what you will have some manual work here, since you will have to put in these buffer distances.
But we can remove a lot of the manual work with a couple of models in QGIS.
The model will be:
- Convert polygon to polyline.
- Explode polyline.
- Add buffer column that will be used for the buffer.
Since we explode the polylines you can have a different buffer distance for each side (polyline).
Then you have the manual step of putting in the buffer distances for each polyline.
Next model:
- GRASS variable distance buffer. (Use GRASS because it allows for a no endcap style, so the ends do not overlap the other sides)
- Convex hull to fix the corners.
In pictures, model 1:
Original polygon:

- Polygon to polyline:

- Explode polylines.
- Add buffer column with values manually added:

Model 2:
- Variable distance GRASS buffer with the buffer column. v.buffer.column with "Do not make caps at the ends of polylines" ticked:

- Convex hull to fix the corners:

The corners are how we want them. If you use endcaps you end up with a lot of overlap with longer distance buffers.
Model 1:

Model 2:
