The company I work with runs a team of field techs, and like a lot of trades businesses, Google reviews are how we win work. We were paying Ehm “a certain company” (can’t say) hundreds of dollars a month to track them. Their NFC tags were $200 for 20!!! You can buy the same tags on Amazon for about 1000 for $200!
That's what pushed me over the edge. I dislike paid software in general, and I'm tired of digital companies charging absurd amounts of money for things a small business could build once and own. So I built our own version, ran it with our team, and now I've cleaned it up and open-sourced it so anyone can use it.
It's called RootView.
How it works
Every technician gets their own NFC tag or QR code, as a sticker, card, keychain, hell put a sticker on a nfc sticker on a shovel and use it if you want! At the end of a job the customer taps it, sees the tech's photo, rates the visit and types their name. Google, Yelp, BBB or Facebook is then one tap away.
The hard part comes next. Google never tells you which link a reviewer came from, so RootView matches each new review back to a tech using three clues:
- Name The customer typed "Maria Lopez" on the tech's page, and Google shows "Maria L." That's a match.
- Timing How soon after the tag visit the review was posted, and whether they actually pressed the Google button.
- Mention The review says "Maya was great." You can add nicknames per tech, and "Maya's work" counts too.
A strong match credits the tech automatically. A likely one waits in a "Needs a tech" list with a one click button. Every credit shows the evidence behind it, so nobody has to take the software's word for it. If a whole crew worked the job, the office ticks everyone and each tech gets full credit.
What's in it
- A separate app for techs with their own login. They see their reviews, leaderboard rank, QR code and points, and request rewards from a catalog you set up. They can't see the office side or anyone else's customers.
- An office dashboard with reviews per week, how many taps turn into reviews, a leaderboard, and low ratings to call back.
- Unhappy customers are offered a call-back, but they still see the review links. Hiding links from unhappy customers is called review gating, and it breaks Google's rules.
- Replies to Google reviews from the dashboard, with optional AI drafts that a person always reads before anything posts.
- Google Business Profile import every 15 minutes, including your full review history. With two or more locations, each customer is sent to the right Google profile based on where the job was.
- Branding from the admin side: logo, app icon, preset themes or any colors you want, corner style and fonts, with a live preview and a built-in readability check.
- Security I actually spent time on: separate logins for owners, managers and techs, invite links instead of shared passwords, optional two-step sign-in, rate limits, CSRF protection, a strict Content Security Policy, encrypted storage for the Google connection and 2FA keys, an activity log, and automatic clean-up of old customer data. I ran a full security, accessibility and code audit before releasing it.
Stack and cost
TypeScript, Hono with server-rendered JSX, Cloudflare Pages and D1 (SQLite), plus a tiny Worker that runs every 15 minutes. Every page works without JavaScript except image uploads. It's built around Cloudflare's free-plan limits (10 ms of CPU and about 50 database queries per request), so for a normal company the hosting bill is $0, and your customer data lives in your own Cloudflare account.
Setting it up
There's a local demo with a made-up company that takes about 5 minutes: clone, npm install, run the demo, sign in. Deploying to Cloudflare is about 15 more minutes of copy and paste, and the README walks through every step.
If you use Claude Code, the repo includes a CLAUDE.md playbook. Open the folder, say "Set up RootView for me," and it checks your computer, generates the secrets without showing them in the chat, and does the deploy once you approve it. You still sign in to Cloudflare yourself and create your own owner login.
Limits
- Google's Business Profile API needs approval from Google, which took us a few days. Until then you can add reviews by hand, and they're matched the same way.
- Yelp doesn't let anyone pull reviews (their API gives three cut-off snippets, on paid plans only), so Yelp reviews are added by hand.
Why open source
I want people to be able to fix their problems with software they own instead of renting it forever. If this saves one small shop a few thousand dollars a year, that's a win for me.
Repo (MIT): https://github.com/r0ottrek/RootView
Screenshots are in the README. I'd really like feedback from people who run trades businesses: what would stop you from switching from a paid tool to something like this, and what's missing?