I've been thinking about a way to solve the exact same problem on and off for a long time (I'm terrible at proactively keeping in touch with friends).
My original solution was the same as yours, but it quickly broke down for me because I just couldn't get all of the data (in particular when I last talked to someone) into the app. I imagine you'll face the same challenge.
Two approaches have worked well for me though...
1. a dumb version of Dex. Basically just a list of friends/acquaintances and a periodic reminder (weekly, monthly, quarterly) to make sure I'd been in touch
2. a weekly prompt to reach out to anyone who fits a certain set of criteria. For example, "send a message to the last person you met at a networking event" or "reach out to the contact you'd be most likely to recommend for a marketing role"
Weirdly, the latter version has been way better for me at maintaining and growing relationships outside of my closest circle of friends. Especially on the professional side of things.
If you want to chat more about my experience or the problem in general, my email is in my profile and I find this super interesting :)
Good luck!