RetroFed Forum
Your home away from modern life.
[Project] Natel: a self-hosted web contacts editor for your CardDAV server
Post Reply
AuthorMessage
Protectator lemmy.world Protectator@lemmy.world
Joined: 2026-10-26
(edited) Quote

Hi all,

After moving my contacts from Google to a self-hosted CardDAV server (Radicale), I missed editing them in a browser. Radicale and Baïkal have no contact editor, and InfCloud hasn't had a release since 2015. So I built Natel, a web editor for the contacts already on your CardDAV server. Photos, groups, several address books, .vcf import and export, on desktop and mobile.

Fields Natel doesn't edit are written back unchanged, and if a contact changed on your phone in the meantime, you see there's a conflict instead of a blind overwrite.

One Docker container (amd64 and arm64), around 16 MB of RAM idle, no database. Your password stays in the session's memory, never on disk. Once a day, Natel checks for a new release and tells you in its settings, without sending any contacts or credentials. You can turn that off.

It's in beta, tested in CI against Radicale, Baïkal and Xandikos. Nextcloud isn't tested (it has its own web UI anyway). Manually tested with DAVx⁵ on Android and Apple Contacts on an iPhone, with known current limits documented in the compatibility notes.

How AI was used (mostly Claude Code, some Codex):

  • Design: I made each decision; agents proposed drafts and we iterated on each of them until I was satisfied, then they wrote them up in DECISIONS.md.
  • Implementation: Agents wrote almost all the code. I chose the tech stack and guide the overall architecture; I only read the code when an agent asks me about it.
  • Testing: Agents wrote the automated tests.
  • Documentation: Agents wrote the technical documentation.
  • Review: Independent AI sessions review each other's changes. I validate the design decisions, not the code line by line.
  • Deployment: I drive, review and approve each release. Agents write the deployment setup and release workflows.

The CI tests that guard the data (vCard round trips, conflicts, end-to-end runs on three servers) run on every change. This post was drafted with AI help.

Try the demo (made-up contacts, resets on reload)

Source code on GitHub (MIT)

Whatever CardDAV server you run, I'd like to hear how it goes: what works, what's missing, or any other feedback you have.

3   Original
Tiritibambix lemmy.ml Tiritibambix@lemmy.ml
Joined: 2021-03-11
#2 · Quote Reply

Felt the sale way acter moving from Nextcloud, so I built my own solution.
Might have a look at Natel anyway.

2
Protectator lemmy.world Protectator@lemmy.world
Joined: 2026-10-26
#3 · Quote Reply

Felt the sale way acter moving from Nextcloud, so I built my own solution. Might have a look at Natel anyway.

Thanks! I'd be curious to hear if Natel is missing features you've found useful in your own solution.

1
Post Reply
Back to top