Project ideas from Hacker News discussions.

A GTK4 SSH-askpass in Zig

📝 Discussion Summary (Click to expand)

3 dominant themes in the discussion

Theme Supporting quotes
1. Preference for lightweight UI toolkits & concerns about bindings “Would love to see more projects using gtk and zig. Always nice to have another language option.” — WD‑42
“fltk is c++ based which makes language bindings significantly harder in general. gtk is c based which worked out really well in that aspect.” — zem
“Version 1.4 is really nice, with Wayland support, and they even draw custom window decorations on GNOME.” — gen2brain
“The difference in memory usage is huge with GTK4. FLTK hello world is ~10M, GTK3 is ~15M, GTK4 is 40M!” — gen2brain
2. Fingerprint authentication & PAM redesign “PAM really needs to be ravamped and support for (among other things) running multiple stacks in parallel added.” — quotemstr
“These implementations really need to also include fingerprint sensor support.” — hparadiz
“It's both.” — hparadiz
“Everyone doing parallel biometric and password authentication on Linux today is either running two PAM stacks in parallel … or just bypassing PAM entirely.” — quotemstr
3. Reducing direct GTK linkages to shrink binaries “When building this it ends up with direct linking against a half‑dozen libraries it doesn't actually use… Fixed it by replacing the linking commands with this:” — danudey
“…no longer directly links against lib{pango, cairo, pangocairo, cairo‑gobject, harfbuzz, gdk_pixbuf, graphene, gio, vulkan}.” — danudey

The summary highlights the community’s interest in lighter UI libraries, debates over biometric authentication integration, and practical build‑size optimizations for GTK projects.


🚀 Project Ideas

ZigAuthPrompt

Summary

  • A tiny, dependency‑light modal authentication dialog that can be invoked by SSH, sudo, and other tools across desktop environments.
  • Provides a native‑looking prompt written in Zig with optional FLTK backend, eliminating heavy GTK pull‑ins.

Details

Key Value
Target Audience Linux users who need secure password entry for scripts, package managers, and agents; developers looking for a lightweight auth UI.
Core Feature Cross‑desktop modal dialog that appears over any DE, supports custom prompts, and can be called via SSH_ASKPASS/SUDO_ASKPASS.
Tech Stack Zig + FLTK (optional GTK), protobuf for configuration, systemd‑logind integration, static binary build.
Difficulty Medium
Monetization Hobby

Notes

  • HN commenters repeatedly cite the need for a “lighter askpass” and mention that GTK pulls too many libraries (gen2brain, porridgeraisin).
  • A Zig implementation would satisfy “more projects using gtk and zig” while keeping the binary under 5 MB, appealing to minimalists.

pinentry‑go

Summary

  • A Go‑based drop‑in replacement for pinentry that can launch GTK, FLTK or Qt back‑ends and expose a biometric “fingerprint‑OR‑password” prompt.
  • Enables parallel authentication stacks without duplicating PAM configurations.

Details

Key Value
Target Audience System integrators, security‑focused power users, and developers building password‑less agents on Linux.
Core Feature Single binary that detects available UI toolkit at runtime and opens a native password dialog; includes fingerprint support via libfprint and custom “Can I delete this…?” question prompts.
Tech Stack Go 1.22, FLTK via go‑fltk binding, system‑d integration, optional GTK via cgo, PAM library calls.
Difficulty High
Monetization Revenue-ready: SaaS‑free tier for personal use / paid enterprise support.

Notes

  • Discussion around “fingerprint sensor support” (hparadiz) and “PAM needs parallel support” (quotemstr) points to a gap this fills.
  • By wrapping both password and biometric authentication in one Go process, it solves the “meta‑policy defeat” issue noted by multiple commenters.

GTKLinkOptimizer

Summary

  • A build‑time CLI that strips unused shared libraries from GTK/FLTK binaries, reducing direct linking overhead and dependency bloat.
  • Guarantees minimal runtime dependencies for lightweight containers or edge devices.

Details

Key Value
Target Audience DevOps engineers, container builders, and developers targeting constrained environments who need to shrink GTK app size.
Core Feature Analyzes ELF binaries, removes library entries not referenced at runtime, and outputs a patched binary or build script snippet.
Tech Stack Rust (for safe ELF manipulation), gcc/clang linking wrappers, optional dpkg-shlibdeps integration.
Difficulty Medium
Monetization Hobby

Notes

  • Users like danudey highlighted the problem of unnecessary direct links to lib{pango, cairo, ...} causing extra dependency baggage (danudey).
  • Reducing the direct dependency list aligns with the “absolute minimalism” goal discussed in the thread and would be a practical utility for anyone packaging GTK apps.

Read Later