After selfhosting dozens of applications myself I am looking forward to giving something back to the community. I wanted a way to manage both my professional and personal relationships better. Especially with kids around it feels difficult to keep up with everyone’s birthdays, diets, events and whatnot . Originally I used Monica but development has stalled since quite a while and the new version was a fair bit more complex than I needed. So over the last many months I built my own solution.

What it can do: You can add contacts (even with custom fields), relationships, reminders, activities and notes. Optionally you can also activate the CardDav server to sync contacts to and from your phone.

What it cannot do: There is no platform sync with LinkedIn/E-Mail/Messengers and there are no AI functionalities (neither is currently planned). As of now there is no native iOS/Android app, using the page on mobile works fine for me so far.

Development and use of AI: This app is not vibe coded. I do use AI assistants for programming support but code is either authored or reviewed by me (which is definitely required). I used golang for the backend (such a great language), the frontend is react. After a PR on github E2E tests are run, for each tag docker containers are built and available.

Demo and links: 
 You can try a demo here: https://meerkat-crm-demo.fly.dev/ (login with username demo and password test_12345). The demo starts on demand so it might take a couple seconds to load. Data is shared but resets as soon as the demo goes idle. 

 Repository: https://github.com/fbuchner/meerkat-crm (the README has a screengrab to give you an impression)

I am an avid user of the app myself and excited to open it up to the community now. Please be kind, I’ve been working on this for quite a while but it is my first open source project at this scale.

  • silicea@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    12
    ·
    23 hours ago

    Thank you and do open a github issue if anything is not working as expected or the docs are unclear. I used expose in the docker compose file to help other developers understand the application better (expose itself is only for documentation, only ‘ports’ actually opens a port outside the internal network). Both containers also sit behind an nginx that acts as a single entry point. The /health endpoint exists currently only for docker healthcheck but I like your idea of exposing it through the frontend to allow for Uptime Kuma monitoring. I’ll implement that next.

    • Breezy@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      7
      ·
      22 hours ago

      Omg, this is embarrassing, I just realized my dyslexia strikes again. I read that as ports and not expose. That’s nice, I rarely ever see that being used. Thank you for the explanation.