# What’s everybody working on? (August Edition)

**URL:** <https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050>\
**Category:** Showcase\
**Tags:** community, wewo\
**Created:** [August 3, 2026, 8:05am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050 "2026-08-03T08:05:53Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![Dok8tavo](https://ziggit.dev/user_avatar/ziggit.dev/dok8tavo/32/707_2.png) [@Dok8tavo](https://ziggit.dev/u/Dok8tavo)\
**Post date:** [August 24, 2026, 5:16pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/63 "2026-08-24T17:16:26Z")

</div>

[This discussion](https://ziggit.dev/t/what-zig-felt-like-coming-from-rust/17303) convinced me to give another go at trying to make an iterator interface in Zig.

---

<div class="post-metadata">

**Author:** ![Cloudef](https://ziggit.dev/user_avatar/ziggit.dev/cloudef/32/1370_2.png) [@Cloudef](https://ziggit.dev/u/Cloudef)\
**Post date:** [August 25, 2026, 9:53am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/64 "2026-08-25T09:53:15Z")

</div>

Finally got syscall filtering work on aarch64 macos, all it took was to make process virtualize itself 😄

```zig
./.zig-cache/o/cee8bd191da6115485889a726cbaef10/sorvi-frontend ./.zig-cache/o/ba714225f87b8808692cac3da4df3c12/minimal.sorvi
info(sorvi_headless): ./.zig-cache/o/ba714225f87b8808692cac3da4df3c12/minimal.sorvi: loaded at address 1097b0000
info(sorvi_headless): installing Hypervisor.framework sandbox
info(sorvi_headless): installing VBAR_EL1 trampoline at 104c3c000
info(sorvi_headless): setting SP_EL0 to 109fe0000
info(sorvi_headless): setting tpidr_el0 to 1004
info(sorvi_headless): setting tpidrro_el0 to 20992f160
info(sorvi_headless): jumping to entry: 104a1bc58
info(sorvi_headless): running on aarch64-macos
info(minimal_example): Hello world!
info(minimal_example): Now direct syscall:
error(sorvi_headless): core tried to make a syscall, aborting ...

```

```zig
./.zig-cache/o/cee8bd191da6115485889a726cbaef10/sorvi-frontend --trust ./.zig-cache/o/ba714225f87b8808692cac3da4df3c12/minimal.sorvi
info(sorvi_headless): ./.zig-cache/o/ba714225f87b8808692cac3da4df3c12/minimal.sorvi: loaded at address 104f90000
info(sorvi_headless): running on aarch64-macos
info(minimal_example): Hello world!
info(minimal_example): Now direct syscall:
Hello world! (syscall)

```

---

<div class="post-metadata">

**Author:** ![solenopsys](https://ziggit.dev/user_avatar/ziggit.dev/solenopsys/32/9589_2.png) [@solenopsys](https://ziggit.dev/u/solenopsys)\
**Post date:** [August 25, 2026, 3:32pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/65 "2026-08-25T15:32:46Z")

</div>

I’m currently working on **Converged** ([GitHub - solenopsys/converged: Converged - Smart Workshop Core · GitHub](https://github.com/solenopsys/converged)) - a system that brings all workshop equipment into a single environment: CNC machines, 3D printers, and other industrial hardware, while also integrating LLMs, audio gateways, telephony, and process automation.

All low-level infrastructure and system components are written in **Zig**. The business logic inside individual systems is written in **TypeScript / QuickJS** or runs through **Cruller** ([GitHub - solenopsys/cruller: fork of Bun · GitHub](https://github.com/solenopsys/cruller)), my fork of Bun.

So Zig handles the fast, compact systems layer, while TS/JS is used for application logic that can be changed and extended quickly.

---

<div class="post-metadata">

**Author:** ![tt67wq](https://ziggit.dev/user_avatar/ziggit.dev/tt67wq/32/5121_2.png) [@tt67wq](https://ziggit.dev/u/tt67wq)\
**Post date:** [August 27, 2026, 2:45am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/66 "2026-08-27T02:45:30Z")

</div>

> **[GitHub - tt67wq/cube\_db: An embedded key-value store written in Zig](https://github.com/tt67wq/cube_db)**
>
> An embedded key-value store written in Zig

I’ve being working on a embedded kv engine, very interesting

---

<div class="post-metadata">

**Author:** ![Unvestigate](https://ziggit.dev/user_avatar/ziggit.dev/unvestigate/32/8093_2.png) [@Unvestigate](https://ziggit.dev/u/Unvestigate)\
**Post date:** [August 27, 2026, 6:34pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/67 "2026-08-27T18:34:37Z")

</div>

I released my self-made audio engine and editor a few days ago. Available now in open beta!

 ![editor_screenshot2](https://ziggit.dev/uploads/default/original/2X/a/a6f4cf7c43543e8ad3083febce335d7b63913274.png)

More info here: [https://www.byprod.io/](https://www.byprod.io/)  
Zig bindings available (naturally 😎): [byProdResources/bindings/zig/byprod.zig at main · MadrigalGames/byProdResources · GitHub](https://github.com/MadrigalGames/byProdResources/blob/main/bindings/zig/byprod.zig)

---

<div class="post-metadata">

**Author:** ![ktarasov](https://ziggit.dev/user_avatar/ziggit.dev/ktarasov/32/8047_2.png) [@ktarasov](https://ziggit.dev/u/ktarasov)\
**Post date:** [August 27, 2026, 7:11pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/68 "2026-08-27T19:11:49Z")

</div>

> **[GitHub - ktarasov/check\_links: Check Links is a command-line utility (CLI)...](https://github.com/ktarasov/check_links)**
>
> Check Links is a command-line utility (CLI) written in Zig for checking links on a web page.

Check Links is a command-line utility (CLI) written in Zig for checking links on a web page.

Since the HTTP client does not implement timeouts, we had to implement our own connection and HTTP client with support for TSL and timeouts.

## Typical Use Cases

### 1. Checking for broken links on your site after a redesign or migration

After changing the design, URL structure, or moving to a new domain, you should make sure that no links point to old (removed) sections or files.

```sh
check_links --fail https://example.com/page/

```

The utility shows only links that lead to non-existent pages (404, 410) or server errors (500).

### 2. SEO audit: finding links to external resources that stopped working

Broken external links harm behavioral factors and search-engine trust in your site. Regularly checking external links is a mandatory part of SEO maintenance.

```sh
check_links --export broken-links.csv https://example.com/

```

The CSV file can be opened in Excel/Google Sheets and handed to a content manager for fixing.

### 3. Checking links in an article or landing page before publication

Before publishing content with many external sources, it helps to verify that all links are working and do not lead to 404.

```sh
check_links https://blog.example.com/draft-article/

```

Green 200 codes mean everything is fine, yellow 3xx means redirects (worth updating the links to current ones), red 4xx/5xx are broken links.

### 4. Monitoring links in documentation or a knowledge base

For sites with extensive documentation (wikis, knowledge bases, manuals), it is useful to set up a regular link check so that the documentation stays up to date.

```sh
# Weekly check via cron
0 6 * * 1 /usr/local/bin/check_links --fail --export /var/log/links-check/docs-errors.csv https://docs.company.ru/

```

### 5. Checking links on a product page in an online store

Product cards often contain links to related products, categories, and reviews. If such links lead nowhere, it is a direct loss of sales.

```sh
check_links --fail https://store.example.com/catalog/product-123/

```

### 6. Auditing a link profile before buying links

When doing SEO, before buying links from a donor site, it is worth checking whether it has broken pages that could reduce the effect of the purchase.

```sh
check_links --fail https://donor-site.example.com/

```

### 7. Finding images that fail to load

The utility collects not only links (`<a href>`) but also images (`<img src>`). This lets you find broken images on a page — a common cause of poor visual perception of a site.

```sh
check_links --fail https://example.com/gallery/

```

### 8. Checking redirects (redirect chains)

Although the utility does not follow redirect chains step by step, it shows the 3xx HTTP code for URLs that redirect. This helps to identify unnecessary intermediate redirects that slow down page loading.

```sh
check_links https://example.com/

```

Pay attention to the yellow rows — these are URLs returning 301, 302, etc.

### 9. Exporting a full link map of a page for further analysis

CSV export lets you pass results to BI systems, Google Sheets, or Excel for building reports and dashboards.

```sh
check_links --export full-links-report.csv https://example.com/

```

### 10. Quick client site check before a presentation

For agencies and freelancers: before showing a site to a client, run the home page and typical pages through the utility to avoid an awkward situation with broken links during a demo.

```sh
check_links --fail https://client-site.example.com/

```

---

<div class="post-metadata">

**Author:** ![ben0i0d](https://ziggit.dev/user_avatar/ziggit.dev/ben0i0d/32/7980_2.png) [@ben0i0d](https://ziggit.dev/u/ben0i0d)\
**Post date:** [August 28, 2026, 1:55am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/69 "2026-08-28T01:55:18Z")

</div>

[loaderx](https://codeberg.org/eoelab/loaderx)

I’ve been working on this recently — a high-performance data container. Strictly speaking, it’s aimed at the Python ecosystem, but Zig provides the core underlying support.

---

<div class="post-metadata">

**Author:** ![pachde](https://ziggit.dev/user_avatar/ziggit.dev/pachde/32/2485_2.png) [@pachde](https://ziggit.dev/u/pachde)\
**Post date:** [August 28, 2026, 2:18am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/70 "2026-08-28T02:18:42Z")

</div>

Checking links for what?

---

<div class="post-metadata">

**Author:** ![sbrow](https://ziggit.dev/user_avatar/ziggit.dev/sbrow/32/4970_2.png) [@sbrow](https://ziggit.dev/u/sbrow)\
**Post date:** [August 28, 2026, 2:36am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/71 "2026-08-28T02:36:41Z")

</div>

I personally use [hledger](https://hledger.org/sm-2023-setup.html?highlight=Rules#csv-rules) for accounting due to its `rule` files that let you program how your CSV files get converted into the ledger (and prevent duplicates). Might be worth a look for inspiration, if you aren’t already familiar with it 🙂

---

<div class="post-metadata">

**Author:** ![Cloudef](https://ziggit.dev/user_avatar/ziggit.dev/cloudef/32/1370_2.png) [@Cloudef](https://ziggit.dev/u/Cloudef)\
**Post date:** [August 28, 2026, 2:40am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/72 "2026-08-28T02:40:12Z")

</div>

Love the UI. Looks really slick.

---

<div class="post-metadata">

**Author:** ![ktarasov](https://ziggit.dev/user_avatar/ziggit.dev/ktarasov/32/8047_2.png) [@ktarasov](https://ziggit.dev/u/ktarasov)\
**Post date:** [August 28, 2026, 3:24am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/73 "2026-08-28T03:24:52Z")

</div>

To check for broken links on the page.

The README.md file contains 10 typical use cases for the utility, based on frequent requests from our clients.

---

<div class="post-metadata">

**Author:** ![Ippokratis](https://ziggit.dev/letter_avatar_proxy/v4/letter/i/9e8a1a/32.png) [@Ippokratis](https://ziggit.dev/u/Ippokratis)\
**Post date:** [August 28, 2026, 7:02am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/74 "2026-08-28T07:02:58Z")

</div>

![SpectraFilter](https://ziggit.dev/uploads/default/original/2X/4/438a872781204691ce4468ead7dd5cd824d9c4ab.jpeg)  
Bread-and-butter equalizer au-vst plugin. C++ mostly, zig is used for building the project. Using JUCE library. Still working on it.  
What happened to Samatas DS from What’s everybody working on July Edition? I must port it to JUCE, it will take some months. Some progress since last time.  
 ![SamatasDS](https://ziggit.dev/uploads/default/original/2X/f/ff819e07c6687b3aef9db7977ea438f92e585775.jpeg)

---

<div class="post-metadata">

**Author:** ![pachde](https://ziggit.dev/user_avatar/ziggit.dev/pachde/32/2485_2.png) [@pachde](https://ziggit.dev/u/pachde)\
**Post date:** [August 28, 2026, 4:50pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/75 "2026-08-28T16:50:10Z")

</div>

Zig bindings for JUCE when? 🙂 🙂

---

<div class="post-metadata">

**Author:** ![esteban](https://ziggit.dev/letter_avatar_proxy/v4/letter/e/f4b2a3/32.png) [@esteban](https://ziggit.dev/u/esteban)\
**Post date:** [August 29, 2026, 10:05am UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/76 "2026-08-29T10:05:42Z")

</div>

Somewhat on topic. I’ve been hacking on @SuperAuguste’s zig bindings for LV2, as an exercise to learn zig and lv2. I’d be happy to get any feedback.

I got the sampler example working 😃

 ![2026-08-29_113358_573719316](https://ziggit.dev/uploads/default/original/2X/f/f0fc1186283e455a3a6523c62f3868ce074a1343.png)

> **[GitHub - estebon2666/zig-lv2 at zig0.16](https://github.com/estebon2666/zig-lv2/tree/zig0.16)**
>
> Zig-intuitive bindings for LV2. Contribute to estebon2666/zig-lv2 development by creating an account on GitHub.

PS: I love zig. It makes me a better person.

---

<div class="post-metadata">

**Author:** ![Fraggle](https://ziggit.dev/letter_avatar_proxy/v4/letter/f/34f0e0/32.png) [@Fraggle](https://ziggit.dev/u/Fraggle)\
**Post date:** [August 30, 2026, 1:03pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/77 "2026-08-30T13:03:10Z")

</div>

A while back I tried using [Doorstop](https://github.com/doorstop-dev/doorstop), immediately hit some weird bugs and eventually concluded I disagreed with some of the design decisions. So, in my hubris, I decided to make my own version in Zig.

I mostly leverage the zig-yaml library (with some extensions, published on [my fork](https://github.com/iamfraggle/zig-yaml/tree/req)) for parsing data, although it got complicated once I started dealing with custom attributes (the moment I thought maybe I should have done this in a dynamically-typed language!).

I had basic processing of Document definitions working a while ago, but over the past few days I updated the code to support Zig 0.16, added loading Items from YAML strings, as well as support for custom attributes and types.

Not publishing yet, as there’s essentially nothing by way of UI to speak of.

---

<div class="post-metadata">

**Author:** ![eddineimad0](https://ziggit.dev/user_avatar/ziggit.dev/eddineimad0/32/6879_2.png) [@eddineimad0](https://ziggit.dev/u/eddineimad0)\
**Post date:** [August 30, 2026, 3:09pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/78 "2026-08-30T15:09:55Z")

</div>

Currently working on an immediate mode gui library (actually it’s just a single 4k loc zig file).  
It does the auto layout and sizing computations of widgets you declare and returns a single command buffer that tells the user what to draw and where (kinda like rxi [microui](https://github.com/rxi/microui)).  
I started working on it for my own personal project, now i plan to share the file once it’s solid.

Below is a demo screenshot of current progress:

 ![image](https://ziggit.dev/uploads/default/original/2X/e/ebe5dd342c1f2c7387f3d9825fb5f3e52fd63193.png)

---

<div class="post-metadata">

**Author:** ![xqtc](https://ziggit.dev/user_avatar/ziggit.dev/xqtc/32/9651_2.png) [@xqtc](https://ziggit.dev/u/xqtc)\
**Post date:** [August 30, 2026, 9:03pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/79 "2026-08-30T21:03:33Z")

</div>

I just started working on a multi call binary with a bunch of small userspace utils called [hako](https://git.sr.ht/~xqtc/hako). For now I aim to provide these commands:

**watchfd:** inspect file descriptors of a process in a refreshing view  
**dumpfd:** inspect a snapshot of file descriptors of a given process  
**listen:** tcp/unix sockets  
**pwait:** wait for a proc to disappear  
**when:** execute a command when a file/directory changes  
**ports:** print ports and the processes that listen on them

Currently I only implemented two of them.

`watchfd` uses the Linux `ptrace` syscall to continously monitor file descriptor changes of a given process and unfortunately will require `sudo` on most distributions. More about how it works can be found [here](https://git.sr.ht/~xqtc/hako/commit/863fc324ff8ca7434bb345f1765af525f262a55d). Currently the output has no delay when refreshing which makes it not that usable unless you are a really quick reader.

`dumpfd` just reads the `/proc/<pid>/fd` of a given process and resolves the symlinks. Essentially the same output as `watchfd` but only of a single point in time.

Here is a screenshot of the `dumpfd` output:

 ![image](https://ziggit.dev/uploads/default/original/2X/6/6b1104a2e1e218f3739acf26632cc8b7b7d32ebe.png)

Also on [GitHub](https://github.com/xqtc161/hako) if that’s your cup of tea : )

---

<div class="post-metadata">

**Author:** ![giaco743](https://ziggit.dev/letter_avatar_proxy/v4/letter/g/97f17d/32.png) [@giaco743](https://ziggit.dev/u/giaco743)\
**Post date:** [August 31, 2026, 8:53pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/80 "2026-08-31T20:53:14Z")

</div>

I’ve been working on a small project in Zig: **dlt-zcan** , a DLT (Diagnostic Log and Trace) filter tool for large automotive log files.

DLT is a logging/tracing format commonly used in the automotive industry. The goal of this project is to efficiently filter large DLT logs by ECU ID, application/context ID, log level, or payload substring, while keeping memory usage low through streaming.

I also recently added pretty-printing for verbose DLT messages, including integers, floats, strings, raw data, booleans, and arrays.

For example:

```zig
ECU=ECU APID=LOG CTID=TES4 Level=INFO | [0, "Hello world"]
ECU=ECU APID=LOG CTID=TES4 Level=INFO | [1, "Hello world"]
ECU=ECU APID=LOG CTID=TES4 Level=INFO | [2, "Hello world"]

```

I benchmarked it on a 4.2 GB DLT log. On my i5-7200U, processing the file without filtering takes ~7.1 s, compared to ~4.4 s for `cat` to `/dev/null` .

The project is still a work in progress, but I’m pretty happy with how the parser and zero-copy-ish streaming design have turned out so far. Especially bit sized integers and zero cost bitcasts came in handy for this tiny hobby project.

**Source:** [https://github.com/giaco743/dlt-zcan/](https://github.com/giaco743/dlt-zcan/)

---

<div class="post-metadata">

**Author:** ![Calder-Ty](https://ziggit.dev/user_avatar/ziggit.dev/calder-ty/32/10237_2.png) [@Calder-Ty](https://ziggit.dev/u/Calder-Ty)\
**Post date:** [September 1, 2026, 3:03pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/81 "2026-09-01T15:03:38Z")

</div>

September Thread:

> [@What's everybody working on? (September Edition)](https://ziggit.dev/t/whats-everybody-working-on-september-edition/17434/7):
>
> I’ve been working on programming an [ECU](https://en.wikipedia.org/wiki/Electronic_control_unit), [BMS](https://en.wikipedia.org/wiki/Battery_management_system) and various sensors for an electric race motorcycle. I’m in a team of ~20 students builting a motocycle for the [MotoStudent competition](https://www.motostudent.com/). We’re using a few different types of microcontrollers and so far I have used Zig to target STM32 microcontrollers. I’m using ST’s hardware abstraction library directly with no issues. Inspired by TigerBeetle, I’m building a deterministic simulation test for the ECU. It has proven more difficult than I originally tho…

---

<div class="post-metadata">

**Author:** ![Calder-Ty](https://ziggit.dev/user_avatar/ziggit.dev/calder-ty/32/10237_2.png) [@Calder-Ty](https://ziggit.dev/u/Calder-Ty)\
**Post date:** [September 1, 2026, 3:03pm UTC](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050/82 "2026-09-01T15:03:42Z")

</div>



[Previous page](https://ziggit.dev/t/what-s-everybody-working-on-august-edition/17050.md?page=3)
