Today's Deep-Dive: Kibitzr
Ep. 320

Today's Deep-Dive: Kibitzr

Episode description

Kibitzr is a self-hosted personal web assistant designed to automate repetitive website checking tasks, acting as a ‘secret twin brother’ that monitors data sources and notifies users only when changes occur. Its self-hosted nature is a significant advantage, prioritizing security and privacy by keeping user credentials out of third-party hands, which is crucial for sensitive data like financial information or internal company resources. Kibitzr offers flexibility, running on various operating systems and capable of monitoring resources behind VPNs or within private networks, unlike typical cloud services. The tool is built primarily with Python and is available as Free Open Source Software under an MIT license, boasting an active community on GitHub. Setting up Kibitzr is designed to be straightforward, primarily involving configuration through a human-readable YAML file rather than complex coding, making it accessible even for beginners. For more advanced scenarios, Kibitzr supports powerful features like Selenium for dynamic JavaScript-loaded content, XPath, and CSS selectors for precise data targeting, and can integrate custom scripts. This combination of ease of use, robust functionality, and control makes Kibitzr a compelling solution for automating online tasks without compromising security.

Gain digital sovereignty now and save costs

Let’s have a look at your digital challenges together. What tools are you currently using? Are your processes optimal? How is the state of backups and security updates?

Digital Souvereignty is easily achived with Open Source software (which usually cost way less, too). Our division Safeserver offers hosting, operation and maintenance for countless Free and Open Source tools.

Try it now!

Download transcript (.srt)
0:00

You know that feeling, right?

0:01

It's a constant checking, refreshing a page,

0:03

checking the build status, waiting for some update.

0:06

It's exhausting.

0:07

It just eats up your time.

0:08

And honestly, your focus?

0:10

What if you didn't have to do that anymore?

0:12

Imagine having a digital helper, a sort of secret twin

0:16

that just does all that repetitive web checking for you

0:20

and only pings you when something actually changes.

0:23

Well, today we're doing a deep dive

0:25

into exactly that kind of tool.

0:26

It's called Kibitser, the personal web assistant.

0:29

We've gone through its GitHub repo, the docs,

0:32

all the sources you gave us, our mission,

0:34

to break down what Kibitser is,

0:36

why being self-hosted is such a big deal here,

0:37

and crucially, how easy it actually is for, well,

0:40

even a beginner to get started automating this stuff.

0:43

But before we jump in, a quick shout out to Safe Server

0:45

for supporting this deep dive.

0:46

Safe Server helps with hosting software like this

0:49

and supports your digital transformation journey.

0:51

You can find out more at www.safeserver.de.

0:54

Okay, so this secret twin brother idea,

0:58

the docs actually use that phrase,

1:00

like a secret twin brother who does routine tasks

1:02

and asks for nothing in return.

1:04

I kinda like that description.

1:05

Yeah, it's evocative, isn't it?

1:07

And it really nails the core idea.

1:09

Kibitzers is fundamentally monitoring software.

1:13

Its job is to pull, check websites, APIs, files,

1:17

whatever data source you point it at, again and again.

1:19

And then, only when the specific bit of data

1:21

you're watching changes, it does something.

1:24

Usually, it sends you a notification.

1:26

The whole point is shifting that burden, right?

1:28

So you don't have to constantly check.

1:29

It lets you, as they say, stay on the edge of events your way.

1:33

And it's not some lockdown commercial thing, right?

1:35

We should probably confirm its status.

1:37

Absolutely.

1:37

Yeah, the source is confirmed.

1:39

It's FOSS, Free Open Source Software, MIT license,

1:42

which is very permissive.

1:44

And looking at GitHub, it seems pretty healthy.

1:46

22 contributors, almost 800 commits, nearly 700 stars.

1:51

It's definitely active and has a community around it.

1:54

And what's under the hood?

1:55

What makes it tick?

1:56

It's overwhelmingly Python, like 96.7% Python code.

1:59

The creators even mentioned Python

2:00

is kind of the perfect language for Kibbutz,

2:03

which makes sense, I think.

2:03

Why is that?

2:04

Well, Python just has this huge ecosystem

2:06

for web scraping, network stuff, parsing data.

2:11

All the things you need for a tool like this

2:13

are readily available as libraries.

2:15

It makes building these monitors much easier.

2:17

Right, that makes sense.

2:18

But OK, Python means setup, dependencies.

2:22

If it's self-hosted, does that mean I suddenly

2:24

need to be a server admin?

2:26

And in a world full of cloud services, things like Zapier,

2:31

why go to the trouble of self-hosting?

2:33

That's really the core question, isn't it?

2:35

And Kibitzer's documentation hits it head-on.

2:38

It says pretty bluntly, self-hosted,

2:40

trust no one with your credentials.

2:42

That's the fundamental reason.

2:43

Credentials.

2:44

OK, so if you're monitoring sensitive stuff.

2:46

Exactly.

2:47

Think about some of the examples we'll get to,

2:48

like checking your bank balance or maybe a private build

2:51

server inside your company.

2:52

You simply cannot, or at least shouldn't,

2:54

hand over those logins to some third party cloud platform.

2:57

Self-hosting keeps you in control.

2:59

So it's about security and privacy, first and foremost.

3:02

It is.

3:03

But it's also about reach and flexibility.

3:06

Because it's self-hosted, it runs wherever you run it.

3:08

Windows, Linux, Mac, desktop, server, doesn't matter.

3:13

And this is key.

3:14

It can go wherever you can go.

3:15

Meaning?

3:16

Meaning, if you need to monitor something

3:18

behind your corporate VPN, or a site that needs SSH access,

3:22

or something only visible from your home network,

3:25

Kibitzer can do that because it lives there

3:27

on your machine or server, a typical cloud monitoring

3:29

service.

3:30

It hits that VPN wall and stops.

3:32

Your self-hosted twin brother just carries on.

3:35

OK, that's actually a huge advantage,

3:36

especially for anything internal or sensitive.

3:38

It's personal because it operates

3:40

from your personal digital space.

3:41

Precisely.

3:42

And it's practical, too.

3:43

The docs mentioned it's lightweight.

3:45

It apparently can run on tiniest VM offered by cloud providers.

3:48

So you're not looking at massive hosting costs.

3:50

Oh, really?

3:51

Yeah, they even suggest trying it on AWS free tier or GCP.

3:55

Always free.

3:56

So self-hosting doesn't have to break the bank, even

3:58

for something running 24-7.

4:00

All right, let's make this concrete.

4:02

What kind of routine tasks are we actually talking about?

4:04

What does a secret twin brother do?

4:06

Any good examples from the docs?

4:08

Oh, yeah, there's a good range.

4:09

On the sort of developer IT side,

4:13

there's the classic example, waiting for a long build

4:16

on something like TeamCity to finish.

4:18

Ah, yes, the eternal wheat.

4:20

Exactly.

4:21

Instead of hitting Refresh, Kibitzer

4:23

just tells you when it's done.

4:25

Or, say, tracking a specific bug fix

4:28

release for a library you depend on.

4:30

OK, that makes sense for tech stuff.

4:32

What about more personal things, where that self-hosted trust

4:36

really matters?

4:36

Well, the examples get pretty personal.

4:38

The docs mention a bank balance how-to.

4:40

Whoa, OK.

4:41

Yeah, and another success story someone shared

4:44

was about pulling a Russian passport readiness status.

4:47

Checking passport status.

4:49

Wow, that's often some clunky government website

4:52

you have to keep checking manually, right?

4:53

Exactly.

4:54

These are often tasks involving sites

4:56

that don't have nice, clean APIs.

4:58

They're messy, maybe require logins,

5:00

maybe involve multiple steps.

5:01

And these are definitely things you

5:03

don't want some random third-party service logging

5:05

into for you.

5:06

No kidding.

5:07

That passport example really highlights

5:09

the value automating something genuinely annoying

5:12

and time-consuming in the real world.

5:13

Right.

5:14

And Kipitzer is built for this.

5:16

Yeah.

5:16

The docs say it handles everything

5:18

from raw SSH commands to complex browser scenarios.

5:22

It knows protocols.

5:24

It's not just grabbing simple text.

5:25

OK, but monitoring bank balances,

5:28

interacting with complex government sites,

5:30

that sounds like it needs serious programming skills

5:33

to set up the rules.

5:34

How does Kipitzer make that part easy, especially

5:37

for a beginner?

5:38

This is where the assistant part really shines, I think.

5:41

You don't define these tasks in Python code, generally.

5:44

You define them in YAML.

5:45

YAML, OK, the configuration file format.

5:47

Right.

5:48

And the key is that it's designed to be human-friendly.

5:50

It's structured.

5:51

It's readable.

5:52

But here's the real magic, I think.

5:55

You can change what it monitors or how it monitors just

5:58

by tweaking that YAML file.

5:59

No coding, no restarting complex processes.

6:02

So if the bank website changes its layout slightly.

6:05

You just adjust the selector in the YAML.

6:07

Maybe it takes 30 seconds.

6:09

It makes maintaining these checks much, much simpler

6:11

than managing custom scripts.

6:13

Gotcha.

6:14

So the YAML is like the instruction manual

6:16

for your assistant.

6:17

Define the where, the how often.

6:19

Pretty much.

6:20

You set it up once in that central file.

6:22

And then, as they say, sit back and relax.

6:25

Kibitzer will notify you when something happens.

6:27

And the notifications, how do they arrive?

6:29

It integrates with common tools.

6:31

The docs mention Slack and Mailgun specifically.

6:34

So you can get alerts directly in your chat or email,

6:37

wherever works best for you.

6:38

OK, let's circle back to the beginner angle.

6:40

We see the value.

6:41

We see the power.

6:43

But how easy is that initial step,

6:45

getting it up and running?

6:46

They seem to have focused on making

6:48

that really straightforward.

6:49

It's basically three steps using Python's package manager, PIP.

6:53

Step one, install.

6:55

Just PIP install Kibitzer.

6:57

And it works with Python 2 and 3,

6:58

which is good for flexibility.

7:00

Step two, configure.

7:02

And again, that whole configuration in one YAML file

7:04

approach is key for beginners.

7:06

Everything's in one place.

7:08

Step three, run.

7:09

Just type Kibitzer in your terminal.

7:11

That's it.

7:12

Install, configure, run.

7:13

It seems designed to be a very gentle on-ramp.

7:16

OK, simple start.

7:18

But then, you mentioned complex browser scenarios, SSH commands.

7:22

The sources also call it powerful.

7:25

How does it bridge that gap?

7:27

If I start simple, how hard is it to level up?

7:30

That's the neat part.

7:31

You don't really switch tools.

7:33

You just add more capabilities to your YAML configuration.

7:36

That powerful aspect comes from its built-in features

7:39

and integrations.

7:40

Like what?

7:41

Well, simple page checking fails if the data

7:44

is loaded with JavaScript after the page initially loads, right?

7:47

Yeah, happens all the time.

7:49

So Kibitzer can use Selenium for that.

7:50

Selenium basically drives a real web browser behind the scenes.

7:54

Your Kibitzer Assistant can then log in, click buttons,

7:57

wait for things to load, just like a human would,

8:00

and then grab the data it needs from the fully rendered page.

8:03

Yeah, so it can handle those dynamic, modern web pages.

8:06

It's not just scraping static HTML.

8:09

It's actually interacting.

8:10

Exactly.

8:10

It's doing the tedious click work,

8:12

and then to find the exact piece of information

8:14

you want, like just the price on a product page,

8:16

not the whole description.

8:17

It supports things like XPath and CSS selectors.

8:21

These are ways to precisely target

8:23

a tiny piece of information within a huge web page.

8:27

So you only get alerted if that specific price changes,

8:30

or that specific status updates.

8:32

Not just if anything on the page changes, much less noise.

8:36

That precision is key.

8:38

And can you extend it further if the built-in stuff isn't

8:40

enough?

8:41

Absolutely.

8:42

You can plug in your own bash or Python scripts pretty easily.

8:45

And there's a plug-in system for more complex extensions.

8:48

Plus, they mention a vibrant, friendly community

8:50

on Gitter, which is probably invaluable when you start

8:53

getting into the more advanced configurations,

8:55

like complex xBath queries.

8:57

OK, so let's pull this all together.

8:58

What's the takeaway here?

8:59

Kibitzer seems to offer this potent mix of serious web

9:03

automation power, but wrapped in a way that keeps you in control

9:05

because it's self-hosted.

9:07

That's critical for sensitive stuff like finances

9:09

or government interactions.

9:11

And importantly, it pairs that power with a simple setup

9:13

using that YAML file, making it accessible

9:15

even if you're just starting out with automation.

9:17

It feels like a really nice balance.

9:19

I think that's a fair summary.

9:21

Simplicity to start, but with the power readily

9:23

available when you need it, all while maintaining

9:26

control and privacy.

9:27

So we've heard it can check bank balances, track passport

9:31

applications, monitor builds.

9:33

Given how relatively easy it seems to get started

9:35

and the power it offers with things like Selenium,

9:38

here's something to think about.

9:39

What repetitive, maybe slightly annoying, time-wasting task

9:43

are you doing online every day or every week?

9:46

Could that task be handed over securely and reliably

9:49

to your own secret twin brother?

9:51

Definitely something to consider.

9:53

And with that thought, we want to give our sincere thanks

9:55

once again to SafeServer for supporting this deep dive.

9:59

Remember, for help with software hosting

10:01

and digital transformation needs,

10:02

Thanks for tuning in, and we'll catch you on the next deep dive.

10:02

Thanks for tuning in, and we'll catch you on the next deep dive.