I noticed in my map that when I export to GeoJSON, some smaller feature have their coordinates shifted. I have set the export COORDINATE_PRECISION to 99 (max), tried various coordinate systems but no luck. In QGIS my layer coordinate systems are 3857 and I export to 4326.
Here are the map in QGIS:
Here is the imported GeoJSON in Mapbox (the result is the same in geojson.io and others)
To eliminate project setting errors, I've started a fresh new project. Then added OpenStreetMap layer with coordinate system 3857. Then created a new shapefile layer with the same coordinate system and drew parallel rectangles. With just an export to 4326 GeoJSON, the rectangles get distorted.
I also exported via online Shapefile to GeoJSON converter using ogre.adc4gis.com to eliminate QGIS export function having a problem during projection, but the result is the same.
Edit 1: Following Jakob Miksch's comment, I created a new shapefile layer with EPSG:4326. I exported it and in most cases this fixed the issue. However, minor inconsistencies are still there as below. The inconsistencies mostly happen in certain areas of the building.
Edit 2: Here is the shapefile I've been working on: Shapefile
Edit 3: Switching the coordinate system to custom system centered on the location I'm working on seems to help a little bit with the output, but I still see interest challenges. For example, here, all these boxes share an edge (from a guideline), but the box above doesn't have the middle vertex, and therefore is straight, while, the top vertex of the smaller boxes below utilize a slightly off vertex. Interestingly, if I recreate the box above, but add a vertex, it removes those ugly overlaps (still not everything is perfectly parallel, however).
Edit 4: Here is my latest GeoJSON file. It utilizes the custom coordinate system as recommended here, which minimizes the errors significantly. However in other renderers outside of QGIS (geojson.io, MapBox), the edges won't remain parallel/perpendicular.
EPSG:3857
should only be used for displaying. Your data should never be in this coordinate reference system. It's better if you create your new layer inEPSG:4326
and then export it to GeoJSON.