Ahoy, I'm

Grigoris Fountopoulos

A developer sailing the Grand Line of .NET, Go & Flutter. I build self-hosted tools for homelabs, plugins for the Linux desktop, and one app that knows exactly when the tomatoes are worth it.

// 01 · the captain

Every ship starts as an itch.

I'm a developer from Greece who mostly thinks in C# and .NET, but I go wherever a tool needs to go: Go for tiny agents, Svelte and Next.js for dashboards, QML for the desktop and Flutter for phones.

Almost everything here started the same way: I needed it for my own homelab or my own desktop. Then I kept polishing it until it was good enough to share. Self-hosted, Docker-first, and no "New Dashboard" for every app.

  • 5ships launched
  • 5database engines tamed
  • 1XDA Developers feature
  • 0frameworks on this page

// 02 · the voyage

Wanted posters from the route so far

Five islands, five crews of code. Hover a poster to clean the sepia off.

  1. Wantedselect * or alive
    Strawdmin dashboard with a table list in the sidebar and connection status cards.

    Strawdmin

    ฿5,000,000-

    for making five database engines behave in one browser tab.

    A self-hosted database admin UI. Browse and edit tables, show foreign keys as real names instead of IDs, set access policies per table and column, take backups, keep an audit log, and drag your schema around as an ER diagram.

    • Next.js
    • TypeScript
    • Postgres · MySQL · MSSQL · SQLite
    • Docker
    Island 01 · The Isle of Tables

    Captain's log: FK masking, SSH tunnels, write-time hashing, per-column policies. Tired of building an admin panel for every app, so I built the last one.

  2. As seen on XDA
    Wantedonline or offline
    HomeLabInfo network topology: a router node branching to devices and Docker hosts with their containers.

    HomeLabInfo

    ฿1,500,000,000-

    for spotting every device on the LAN the moment it asks for an IP.

    A self-hosted network scanner and dashboard for homelabs. Instant DHCP discovery with webhooks and vendor lookup, online/offline tracking, an interactive topology map, and Docker container management across remote agents.

    • .NET 10
    • ASP.NET Core
    • Next.js
    • SQLite
    • Docker
    Island 02 · The LAN Archipelago

    Captain's log: started as a modern take on the old Windows Forms network scanners. Runs with network_mode: host, because ARP doesn't cross Docker bridges.

  3. Wantedpinned or running
    StrawDock with line-style icons on the Osaka Jade theme.

    StrawDock

    ฿48,000,000-

    for bringing a mouse to a keyboard-only fight.

    A themed application dock for the Omarchy shell. Pinned and running apps, live window previews, drag to reorder, smart auto-hide, three icon styles, and colors that follow whatever Omarchy theme you're on.

    • QML
    • Qt Quick
    • Omarchy
    • Hyprland
    Island 03 · Omarchy Reef

    Captain's log: not everyone wants to memorise a hundred shortcuts. Your keybindings keep working, the dock just sits there in case you'd rather click.

  4. Wantedtailed or rotated

    StrawLog

    ฿300,000,000-

    for searching logs at ~300 MB/s on a single core, with no index.

    Finds every log on a server (Docker containers, bind mounts, /var/log, journald), shows what's eating the disk, tails and searches in place, and cleans up with retention policies. One hub, many agents, over pinned mutual TLS.

    • Go
    • Svelte
    • mTLS 1.3
    • Docker
    Island 04 · Logtide Bay

    Captain's log: every agent enforces its own retention, so the cleanup happens even when the dashboard is asleep. Discord and Teams get told when a disk is filling up.

  5. On Google Play
    Wantedripe or not yet
    Straw Season browse screen: vegetables in season in June with a month-by-month bar. Straw Season product detail screen.

    Straw Season

    ฿136,000,000-

    for knowing exactly when the tomatoes are worth it.

    A mobile app that tells you which fruit and vegetables are in season where you live, month by month. Favourites, a shopping list, seasonal dishes, and a nudge when something you love comes into season. Greece, Cyprus and Germany.

    • Flutter
    • .NET 10 API
    • PostgreSQL
    • Firebase
    Island 05 · Harvest Harbor

    Captain's log: the server (this very one) holds the whole dataset. The app caches it and asks again with an ETag, so an unchanged catalogue costs a single 304.

  6. More islands on the horizon. The log pose is still spinning.

// 03 · the arsenal

What's in the cargo hold

Languages

  • C#
  • Go
  • TypeScript
  • Dart
  • QML
  • SQL

Frameworks

  • .NET 10 / ASP.NET Core
  • EF Core
  • Next.js
  • Svelte
  • Flutter
  • Qt Quick

The harbor

  • Docker & Compose
  • Caddy
  • PostgreSQL
  • SQLite
  • Linux · Omarchy
  • Firebase

// 04 · message in a bottle

Want to join the crew?

Found a bug, want a feature, or just want to talk homelabs? Send a message in a bottle (well, an email), or open an issue on any of the repos.