DEDUPED Hot AI repos, turned into use cases Get the Monday 5

How to use Vitre: what you can do with it

Vitre is a Kotlin Multiplatform library that runs step-by-step workflows inside an embedded WebView on Android, iOS and desktop, callable from app code, tests, or LLM agents over MCP or Koog.

Trended earlier

View repo on GitHub

Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer

Authorization notice. This tool is dual-use. Only use it on software, sites and systems you own or have explicit permission to test, and follow the relevant licenses and terms of service.

5 use cases

  • Read a value from a page your app does not own

    Navigate to a page, wait for a marker element, and extract text or an href into workflow variables.

    View prompt
    In the Kotlin project at <project-path>, add dev.ggoggam.vitre:vitre-core:0.2.0 from Maven Central and write a workflow that navigates to <target-url>, waits for <ready-selector>, and extracts <field-selector> into a variable. Expected output: the extracted value printed from WorkflowEvent.Completed. Verify that the Completed event contains a non-empty value for that variable.
  • Pull a whole results table into JSON in one step

    Use extractRows to get one record per matching row, with each column scoped to its own row.

    View prompt
    Using the vitre-core dependency in <project-path>, write an extractRows step over <row-xpath> with columns <column-list> and a limit of <n>. Expected output: a JSON array with one record per matched row. Verify that a row lacking a column value has an empty string for that column and does not shift the other records.
  • Visit every search result and collect details from each

    Use forEach to open each result page on a lane pool and gather extracted fields in row order.

    View prompt
    In <project-path>, build a Vitre workflow that extracts rows from <search-url> into results, then uses forEach to visit each row URL and extract <detail-selectors>. Expected output: a details array in row order with one entry per item. Verify that any failed item appears as a recorded failure rather than aborting the whole run.
  • Exchange typed messages with a page you own

    Send and await postMessage payloads between the workflow and your hybrid web page.

    View prompt
    In <project-path>, write a Vitre workflow that loads <page-html>, clicks <button-selector>, awaits a payload of type <message-type>, and posts an acknowledgement back. Expected output: the decoded payload in the Completed event. Verify that the message is received even when the page posts it synchronously on click.
  • Let an LLM agent drive an embedded page through MCP tools

    Expose the Vitre step vocabulary to an agent as MCP tools so it can navigate, read and act on a page.

    View prompt
    Using the vitre-mcp module in <project-path>, connect an MCP client to the in-process Vitre server and ask it to <task-on-page>. Expected output: a sequence of tools/call requests and JSON results, ending in a final answer. Verify that each step's JSON result matches the actual page state shown in the WebView.

Quick start with Vitre

  1. Check you have what it needs: Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21); Maven Central access, which is the only setup needed for the published artifacts; Compose Multiplatform if you want the optional vitre-compose UI layer.
  2. Open ggoggam/vitre on GitHub and read the README and license.
  3. Add vitre-core to commonMain dependencies from Maven Central as dev.ggoggam.vitre:vitre-core:0.2.0.
  4. Declare a workflow with navigate, then waitFor on the element that means the page is ready.
  5. Add extract steps for the text you need, and use Source.Attribute("href") for link targets.
  6. Mount a WebView, take its controller, and call WorkflowEngine(controller).run(workflow).collect.

These steps come from our top use case, Read a value from a page your app does not own, which also has a copy-paste agent prompt.

Use this in your AI agent

Ask your agent

Using the Deduped MCP, get the setup steps for ggoggam/vitre

Add Deduped to Claude Code once

claude mcp add --transport http deduped https://dedupedai.com/mcp

Cursor, ChatGPT, others

Vitre alternatives · Best AI repos for Software and DevOps

About this repo

  • Who it is forKotlin Multiplatform developers who need to read, extract from, or script pages inside a mobile or desktop app, or who want an LLM agent to drive an embedded WebView.
  • Why it is hot108 stars, launched 64 days ago
  • LanguageKotlin
  • Sourcegithub.com/ggoggam/vitre · Back to Hot repos

Requirements

  • Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21)
  • Maven Central access, which is the only setup needed for the published artifacts
  • Compose Multiplatform if you want the optional vitre-compose UI layer

Add this badge to your README

Maintain Vitre? Show readers where to find these use cases. Use cases on Deduped

Markdown

[![Use cases on Deduped](https://dedupedai.com/badge/ggoggam/vitre.svg)](https://dedupedai.com/use-cases/ggoggam-vitre/?utm_source=github&utm_medium=badge&utm_campaign=ggoggam-vitre)

HTML

<a href="https://dedupedai.com/use-cases/ggoggam-vitre/?utm_source=github&amp;utm_medium=badge&amp;utm_campaign=ggoggam-vitre"><img src="https://dedupedai.com/badge/ggoggam/vitre.svg" alt="Use cases on Deduped" height="20"></a>

A static image, no tracking script. About the badge

Questions about Vitre

What is Vitre?

Vitre is a Kotlin Multiplatform library that runs step-by-step workflows inside an embedded WebView on Android, iOS and desktop, callable from app code, tests, or LLM agents over MCP or Koog. It is an open-source project on GitHub: https://github.com/ggoggam/vitre.

Who is Vitre for?

Kotlin Multiplatform developers who need to read, extract from, or script pages inside a mobile or desktop app, or who want an LLM agent to drive an embedded WebView.

What can I do with Vitre?

5 use cases so far, for example: Read a value from a page your app does not own; Pull a whole results table into JSON in one step; Visit every search result and collect details from each. Each has steps and a copy-paste agent prompt.

What do I need to run Vitre?

Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21); Maven Central access, which is the only setup needed for the published artifacts; Compose Multiplatform if you want the optional vitre-compose UI layer.

What are alternatives to Vitre?

Other hot AI repos in Software and DevOps: Codex LB Enhanced, Reuse Before Build, Aibuildai LLM Posttrain Agent, FlowX, Codex Guard.

Is Vitre safe to run?

Deduped does not own, audit or vouch for it. Read the README and license, run it on your own systems first and review every command before you run it.