loading...

People I Know - My little PRM

n_develop profile image Lars Richter ・3 min read

What's the name of Jane's daughter again?

or

I remember, that Michael quit his job. But where did he apply for a new job? I'm sure he told me...

Does these kind of question sound familiar to you? Welcome to my life. :-)

My memory is not the best. Especially, when it comes to names and stuff. That's why I started using my Google Contacts pretty extensively.
Did you know, that you can store "relationships" in your Google contacts? That's pretty useful.
So on John's contact I stored a couple of relationships like:
"Wife": "Jane"
"Son": "Michael"
"Daughter": "Rachel"

That helped me a lot already. If I knew I was going to meet John today, I just checked his contact to remember the names of his kids.
But last time we met, he told me something interesting about his son? What was it again? He broke his arm or something like that.
For these stuff, I used the "Notes" field on the contacts. It's just a free-text field to hold any information like "His son Michael broke a leg".
So if I check his contact (and the "Notes" field) before we meet, my first question could be "Hi John. How is Michael? Is his leg ok again?".

All that is pretty useful. But I was still missing some features. Because the "Notes" field can grow pretty quickly. And such a big chunk of free-text can get confusing.
Wouldn't it be nice, if you could store a list of, let's call it "status updates"? Just a text and a date. This status updates (or "timeline") could be ordered by date.
That's much clearer.

I thought about using a simple CRM (Customer Relationship Management), but none of them really fit my needs or could easily be hosted on my server. While searching for
a simple CRM, I learned that PRMs are a thing. A PRM is like a CRM, but for personal use (instead of professional/commercial). It's a "Personal Relationship Management".
But I had similar problems with the already existing PRMs. For some of them it was the price, for others the hosting, etc.

I'm a developer. So I built my own PRM.

It is called "People I Know" and you can find the source code on GitHub.

GitHub logo n-develop / peopleiknow

"People I Know" is (or will be) a PRM (Personal Relationship Management)

People I Know

"People I Know" is (or will be) a PRM Screenshot

What is a PRM?

A PRM is a "Personal Relationship Management". On the web, you will also find the name "Personal CRM" So you can use "People I Know" to store information about the people you know. ;-)

Is it like my "Contacts" app on my phone?

Yes, somehow it is.

So, why would I use it?

There were a few reasons for me to build this application. For "normal" contact management, the standard android or iOS app would be fine. But there was something missing for me.

  1. If you use the before mentioned services, you don't own your data. It is stored somewhere in Apples or Googles Cloud services.
  2. The standard apps / services do not provide good possibilities to store some kind of timeline / updates for the contacts. You still have the "Notes" field, but…

If you want to try it, you can check out https://peopleiknow.lars-richter.dev/ with username "user" and password "demo". Create, edit and delete contacts just as you like.
I will reset the system from time to time.

Feedback is very welcome. Please let me know what you think. I you see major issues, feel free to contact me or (even better) create an issue on GitHub.
Here are some TODOs that are still on my list:

  • Photo upload is still missing
  • Clean up the JavaScript. Right now it's just one "big" file.
  • Improve the mobile user experience

As you can see from the TODOs, my frontend skills are... let's call it "limited". ;-) I use Bulma for the styling and pure JavaScript (no framework, no jQuery) for the scripting. The backend is done in ASP.NET Core.

Again, feedback is very welcome. It's the first "toy-project" that I share publicly.

Posted on by:

n_develop profile

Lars Richter

@n_develop

I'm a father, husband, developer, .NET-fan, blogger and tea-driven developer.

Discussion

markdown guide