I have a coordinate in (lat/lon). I want to find a new coordinate shifted from this point by 'x' meters in the direction given by a compass bearing (degrees). The distance offset I am hoping to calculate will be fairly small, anywhere from 4-10 m, so I will need a fair amount of accuracy.

Your title and question don't quite tally, the title suggests moving a coordinate, the question is about find a new coordinate. What software or programming language are you using? If you were using QGIS you might find the Azimuth and Distance Plugin will do want you want ~ a new coordinate from an existing coordinate based on compass bearing, distance, and dip
– nmtokenJun 21 '19 at 18:49

The formal name for this the Direct (or Forward) Geodetic Problem. Different software packages have different tools to address it, so you need to Edit the question to specify the software you are using.
– VinceJun 21 '19 at 19:23