I built one myself with some spare parts. I love it, to the point that I wear my helmet for short trips when I otherwise wouldn't bother.
It's modeled after this one: https://www.efficientvelo.com/home/safezone
The key component is the flexible, stays-where-you-put-it arm. Safezone is repurposing an industrial product called "coolant hose" - a 1-ft length costs less than $5. Epoxy a small mirror to the end, and attach it to your helmet with zip ties or velcro straps.
Here's mine: https://imgur.com/a/a9H7bXq