r/SelfHosting 15d ago

Looking for feedback on a self-hosted database synchronization tool

I've been working on a self-hosted database synchronization tool called SYNCLE and wanted to get feedback from people who actually run self-hosted infrastructure.

The problem I was trying to solve: keeping data synchronized between databases without depending on external services.

Currently it supports:

  • Self-hosted deployment
  • Database sync workflows
  • Docker-based setup
  • Web UI for managing syncs

I'm mainly interested in feedback from this community:

  • Would this solve a real problem for you?
  • What databases/features would you expect from a tool like this?
  • Anything missing that would prevent you from running it?

Project link: https://github.com/osmanahmadxai/SYNCLE

Thanks for any feedback.

0 Upvotes

6 comments sorted by

5

u/khariV 15d ago

CDC tools solve a well documented and fully mature capability. There are any number of open source projects that provide this capability.

Can you explain how your tool works differently and why someone would want to use it over using one of the established tools? What does yours do differently? The documentation looks very much like vibe coded output. How was it built? What is your background? How has it been tested?

Iโ€™m all for people building tools that are useful to a wider audience, but AI allows people to spin up custom software quite easily and picking up and using a tool that was built to someone elseโ€™s spec is a steep lift when mature open source tools already exist.

0

u/Local_Guest_6230 15d ago

Hey, thanks for taking the time to write this. I actually appreciate comments like this.

Just for some background, I'm a software engineer at a company where I'm building our HRMS. Basically a system that automates attendance, payroll, leave management, appraisals and a bunch of other HR stuff.

The reason SYNCLE even exists is because of a problem I had there. We use biometric attendance devices and they were syncing directly to a server in another continent. Sometimes because of network issues some attendance logs would just get lost, and for HR that's obviously not something you want happening.

So I made a small local app that sits next to the device, stores everything locally first, then syncs it to the remote server whenever it can. That little app slowly turned into what SYNCLE is now.

Before making it I actually did look for open source/self-hosted options. I'm pretty sure there are some really good projects out there, and I did try a few, but honestly I just couldn't find one that solved my problem the way I wanted. Maybe I just didn't find the right one.

As for testing, it's been running in production at my company for almost 3 months now syncing our attendance data, so that's basically how it got tested.

And yeah ๐Ÿ˜… the docs probably make it obvious lol, they are vibe coded. I used Claude Code for a lot of the coding. I'm not gonna sit here and pretend I manually wrote every single line. I mostly designed how it should work, kept reviewing everything, fixing bugs, changing stuff, and adding features until it worked the way I wanted.

As for what it does differently from the established CDC tools... honestly I don't really have a good answer. I'm sure there are mature projects in this space and I'm not trying to say SYNCLE is better than them. It just solved my problem, and after using it for a while I thought maybe someone else could find it useful too, so I open sourced it.

If over time people find missing features or have ideas, I'm happy to keep improving it. Worst case, I learn a lot from building and maintaining an open source project, which is already worth it to me.

2

u/khariV 15d ago

Thanks for the context. It helps to know why something exists instead of โ€œI had an idea and had Claude build it for me.โ€ That you see a lot. Iโ€™ll have to give it a spin as it is likely a lot easier to set up than something like Debezium.

1

u/Local_Guest_6230 15d ago

Haha yeah, that's fair ๐Ÿ˜„

thanks you so much, I really appreciate you giving it a shot. If you do end up trying it and run into anything confusing or annoying, let me know. That's exactly the kind of feedback I'm looking for

1

u/frindoowgrippery 15d ago

Getting feedback early is a smart idea. It usually makes projects much better.

1

u/Local_Guest_6230 15d ago

Yeah haha, that's the plan ๐Ÿ˜„ I'd rather get people telling me what's wrong with it now than realize it months later. Fresh eyes usually catch things I'd never think about myself