LiveSL-04
When the same manual work comes back every week
Estate agencies maintain their properties in specialist software and then a second time on their own website. ImmoSync reads the files those programs produce anyway and keeps the website up to date by itself. Every job is processed separately from all others. That way a fault in one agency's data cannot affect another.
Visit the project
SL-04Live
ImmoSync
3 · Customers in operation
207 · Processing runs
Verified numbers
- Customers in operation
- 3Source: Production server, as of 7 Sep 2026
- Processing runs
- 207Source: Job queue on the production server, as of 7 Sep 2026
- Running continuously since
- 27 Apr 2026Source: Server log, first entry 27 Apr 2026, latest 4 Sep 2026
- Ways to run the service
- 3Source: docker-compose.yml, .production.yml and .vps.yml, as of 11 Aug 2026
- New version goes online by itself
- After every changeSource: .github/workflows/deploy.yml
Starting point
Software for estate agents can export its properties as a file. The format for that has been common in the industry for years. But websites cannot do anything with these files. So every property is maintained twice: once in the specialist software and once by hand on the website. That costs time every week. And sooner or later the two no longer match.
Outcome
A running service at its own address. It accepts the files from the agents' software and keeps the website up to date. Every job is processed on its own and leaves nothing behind. That way one customer's faulty data cannot affect another.
The problem is double upkeep, not missing technology
Estate agency software can export its properties. Websites can read data in. Still, many agencies maintain every property twice. Because nobody translates between the file from the software and what a website understands.
The result is familiar from many small businesses. A task comes up every week. Nobody likes doing it, and nobody really owns it. Mistakes only surface when a customer asks about a flat that was sold long ago.
The starting point was the format, not the program
There are many estate agency programs. Building a separate connection for each would be endless work. But they all export their data in the same format.
So the processing starts at the format, not at the program. That is what separates a product from a row of one-off connections. When a new customer arrives with different software, I usually do not have to build anything new.
For the same reason the files arrive by FTP. It is not modern. But the agents’ software can do it. A route that would make the customer switch software does not get used.
Why every job runs on its own
The service processes other people’s files from other people’s programs. Such files often look different from how they should. Sometimes details are missing, sometimes images point nowhere, sometimes a file is huge.
That is why every job gets its own sealed-off area. It is processed there, and afterwards the area is deleted. If a job fails, it takes down neither other customers nor the service. And the memory it used is free again.
For the technically minded: the technology behind it
For each job the manager starts a short-lived Docker container and discards it afterwards. Intake via FTP ingest, OpenImmo XML processing in Node.js, interface in Vue behind Nginx. Three Compose variants, deployment through GitHub Actions on every merge.
That decision makes the project more than a small helper script.
What is honestly missing here
Hours of work saved. That would be the most convincing number in this report, and I cannot back it up at the moment. What I can back up is above: three customers, 207 runs and uninterrupted operation since April 2026.
I do not write down a number I cannot back up. Not even when it would read well.
Frequently asked
- What is OpenImmo and why does it matter?
- OpenImmo is a file format. Almost every German estate agency program can export its properties in it. That is exactly why I start there. I do not have to build a separate connection for every program. It is enough to understand the one format they all speak.
- Why is every job processed on its own?
- For protection. The files come from other people's programs and often contain something unexpected. If every job runs in its own sealed-off area, a fault can take down neither other customers nor the service itself. After the job the area is deleted, and the memory is free again.
- Why do the files arrive by FTP?
- Because the agents' software can do it. FTP is an old, simple way to transfer files. A more modern way is useless if the customer would have to switch software for it. The connection has to start where the data already comes out today.
- What does this kind of automation save?
- The double upkeep and the mistakes that come with it. How many hours that is depends on the number of properties. I do not have reliable figures for it yet. So none is stated here.