And a support tool...

If you've worked with me before, you know that I can be a little bit picky about logging. And so when I started working on Windows apps with Tauri, I knew that finding the right logging system would be a bit of a challenge. And it was. So, rather than work on products like a sensible founder... I built my own .

When Siteimp scans your website, it does a lot of things at once. Some of these things run one at a time, while others run in parallel. For example, we will only scan one page on your website at a time, but if you have external links we may do a partial scan of those (just to check if the link works) while we are scanning your website. Because of the nature of the app, ndjson seemed like a natural format.

But...then I had to start formatting NDJSON logs and the joy of being picky about logging is that you're just as picky about how they look. I wasn't 100% satisfied with other formatters I found and I don't really like having to do things like that on my machine so I built an NDJSON formatter on my website .

But since technical support (and product development) tend to involve looking at the same case over and over, I needed something with a little more muscle. I won't trust customer data with third parties, so I took the engine from that formatter and turned it into a whole workbench. The workbench uses localStorage to store logs and also supports filtering and searching.

To give you a sense of how powerful the workbench + siteimp logger are together, I made a fairly major change to Siteimp today based upon some beta feedback. They were the only debugging tools that I used, and they worked incredibly well together. Granted, I know the code and roughed this feature in in the first place (then inconveniently forgot to do the TODO, likely because I was busy rolling my own version of things that exist). But development was incredibly smooth because they are an extremely powerful tool in tandem.

What's next? We have some more work to do on Siteimp both to solve beta problems and to start ticking off items on our roadmap. The logger itself is incredible and I'll be implementing it in a few more products over the next few months. Then maybe it will be ready for release.

Or maybe I'll roll my own version of something else and forget to do a TODO again? Who knows? But either way, the Siteimp log workbench is a great tool and I have the most incredible beta users. If you want to be one of them and help me discover more TODOs that I forgot to do because I was rolling my own version of something that already exists, you should contact me .

About the Author

Greg Hluska is a performance-obsessed developer focused on improving Core Web Vitals and real-world speed. He built Siteimp to make optimization faster, easier, and more reliable. Learn more about performance on the Performance Optimization blog. Currently working primarily on the Fitness Tracker application and 78solutions, Greg is busy. But not too busy to spend his free time with his child.