Linggen - The engine for AI-native apps — local, open-source, on Mac

by
Linggen is an open-source Mac app that runs AI apps locally. The lead app is a private CFO: drop in bank/card CSV or PDF exports and local code turns them into spend reports — trends, subscriptions, duplicate charges — with account numbers redacted before any AI sees them. Also inside: a music DJ with karaoke, a Mac health scanner, and cross-agent memory shared with Claude Code and Codex. Apps are markdown + HTML/JS on a Rust runtime. BYO model (OpenAI-compatible or Ollama) or free hosted tier.

Add a comment

Replies

Best
Maker
📌

Hi Product Hunt! I'm Leon, solo builder of Linggen.

I think the most useful AI apps won't live in the cloud — they'll run on your own machine, next to your own files, music, and finances. Linggen is my attempt at that: an open-source runtime (Rust daemon, Apache-2.0) that runs AI apps locally on your Mac. Apps are just markdown + plain HTML/JS — no build step, so you can read every line of what an app does before trusting it.

It ships with five apps:

• CFO — drop in bank/card CSV or PDF exports; local code parses them into spend reports (trends, subscriptions, duplicate charges), and account numbers are stripped before any AI sees a thing. The AI only explains — "why was May so expensive?"

• DJ — tell it a vibe, it builds the tracklist, grabs the audio, and syncs to your phone for offline play. Karaoke included.

• Sys Doctor — scans your Mac's health (disk, security, performance) and explains what it finds in plain language.

• Pulse — a personal trends radar for the topics and feeds you care about.

• Memory — cross-agent semantic memory that also works from Claude Code and Codex.

Bring your own model (any OpenAI-compatible endpoint or Ollama) or use the free hosted tier — no key setup.

Install (macOS Apple Silicon): curl -fsSL | bash

Two things I'd love your take on: which of these would you actually use first? And what would it take for you to trust a local app with something as sensitive as your bank statements?

Really cool idea, especially the redaction before any model sees the data. One thing I'd love: automatic scheduled imports from my bank or card accounts instead of having to drop in CSVs by hand. Even a simple watch folder or Plaid integration would make this a set-and-forget weekly review rather than a manual chore.

Maker

 Thanks! A watch folder is the near-term plan — point it at your downloads once and every new export imports automatically, so the weekly review becomes set-and-forget.

On Plaid/direct bank access: building it is the easy part. The hard part is that an aggregator in the middle breaks the promise you liked — credentials and raw data never leaving your machine. If we automate further, it stays local, e.g. pulling from your own already-logged-in browser session. Trust first, convenience right behind it.

Local-only finance tracking with redaction before any model touches the data is exactly the kind of setup I want. One thing I'd love is a built-in budget alert system that can ping me when a category crosses a threshold I set, since right now I only get insights when I open the app and run a report.

Maker

 Thanks — budgets are actually in there today, just conversational rather than a settings panel: tell the CFO "keep dining under $400 a month" and it remembers the goal (locally, like everything else) and holds you to it on every review — crossings show up as red alerts at the top of the report.

What's missing is exactly the piece you named: the ping when you're not in the app. That's the natural next step, and the plumbing exists — Linggen runs as a local background daemon, so a watcher can check the ledger and fire a native Mac notification with zero cloud involved. On the list.

Dropped in a messy card CSV and the spend report came back clean with trends and a duplicate charge flagged I hadn't noticed. The local redaction step before any model sees account numbers is a really thoughtful default.

Maker

 Thank you — that duplicate-charge catch is exactly the moment we built for. One detail behind it: all the money math (parsing, dedup, totals, trends) is plain deterministic code running on your Mac. The model never computes a number — it only sees redacted summaries to write the narrative, so the report stays exact no matter how messy the CSV. And it learns: recategorize a merchant once and that becomes a permanent local rule for every future import.

the local-only angle for the CFO app is honestly really smart, especially with redoing the csv parsing before anything hits a model. one thing i'd love to see is a simple way to set monthly budgets per category so the spend reports can flag when you're trending over instead of just showing historical numbers.

Maker

 Thanks! Two pieces of that exist today: the report's safe-to-spend card already projects forward — month-to-date pace plus your upcoming fixed charges — so it shows where the month is heading, not just where it's been. And per-category caps are set conversationally: tell the CFO "keep dining under $400 a month" and every review checks it, flagging crossings as red alerts.

The part you named that's missing is per-category trending — "dining is pacing 30% over with 10 days left." That's a natural step on top of the forecast math that's already in there. Good call, on the list.

Dropped a couple of card CSVs in and the subscription detector flagged a streaming service I forgot I was still paying for, which already paid for the weekend. The local-first approach with redaction before the model sees anything is genuinely thoughtful.

Maker

 Ha — "already paid for the weekend" might be my favorite line from this launch. Forgotten subscriptions are exactly what the detector was built for: it hunts recurring cadence in the raw ledger with plain local code, so it flags charges you'd never recognize by name on a statement. Pro tip: feed it every card, not just one — zombie subs love hiding on the card you check least. And thanks for noticing the redaction default. That one's non-negotiable.