From 1e6301fc25d49dc1359abd1618900be19fe78ce7 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Mon, 15 Jun 2026 17:21:55 +0100 Subject: [PATCH 1/3] Add 2026-07-02 talk details --- _assets/images/talks/roger-carvalho.jpg | Bin 0 -> 43142 bytes ...02-local-ai-with-electron-and-llama-cpp.md | 39 ++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 _assets/images/talks/roger-carvalho.jpg create mode 100644 _posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md diff --git a/_assets/images/talks/roger-carvalho.jpg b/_assets/images/talks/roger-carvalho.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce629f5bb68b9e2c00b0acec5b47dd4be5ea1dfd GIT binary patch literal 43142 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 E*{S+eNB{r; literal 0 HcmV?d00001 diff --git a/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md new file mode 100644 index 000000000..7e6f90058 --- /dev/null +++ b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md @@ -0,0 +1,39 @@ +--- +title: "Building local AI apps using Electron and llama.cpp" +summary: "A web tech meetup based in Brighton & Hove" +date: 2026-07-02T19:00:00 +meetup: https://www.meetup.com/async-web-tech-meetup/events/315271844/ +speakers: + - name: Roger Carvalho + link: https://clipbeam.com/ +image: + url: /img/talks/roger-carvalho.jpg + title: Roger Carvalho +sponsors: + - name: Puck + logo: /img/sponsors/puck.png + link: https://puckeditor.com/ +tags: + - ai + - llm +venue: + name: Runway East + link: https://runwayea.st/locations/brighton?utm_source=external&utm_medium=event&utm_campaign=sponsorship + location: https://goo.gl/maps/WGe2p9D7Wup3LdNt8 + address: York And Elder Works, 50 New England St, Brighton BN1 4AW + latlong: 50.8325788,-0.1420808 +layout: event.hbs +collection: events +--- + +On July 2nd we'll be joined by Roger Carvalho - creator of [Clipbeam](https://clipbeam.com/). + +In this talk Roger will discuss how to build a cross platform desktop apps that can take advantage of AI capabilities without relying on cloud-based APIs. + +We'll be taking a look at [Clipbeam](https://clipbeam.com/) - a collection of JavaScript and native modules that allow content extraction from webpages, files and audio, auto tagging & categorization of content, RAG with semantic search, and an AI chatbot with voice capabilities that runs entirely on a user's device. + +You will be able to join us in-person at [Runway East](https://runwayea.st/locations/brighton?utm_source=external&utm_medium=event&utm_campaign=sponsorship) or maybe online - to be confirmed. + +--- + +🍕🍻 Pizza and drinks will be provided thanks to sponsorship from [Puck - the open source visual editor for React](https://puckeditor.com/). From bf7634a9bd5396a94c4b4110fea39e0f3b630799 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Mon, 15 Jun 2026 17:22:15 +0100 Subject: [PATCH 2/3] Add electron tag --- _posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md index 7e6f90058..a8220b84c 100644 --- a/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md +++ b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md @@ -16,6 +16,7 @@ sponsors: tags: - ai - llm + - electron venue: name: Runway East link: https://runwayea.st/locations/brighton?utm_source=external&utm_medium=event&utm_campaign=sponsorship From c379a6d6ed2f666b3abc2fb5aef740e9cd66db35 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Mon, 15 Jun 2026 17:25:09 +0100 Subject: [PATCH 3/3] Fix typo --- _posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md index a8220b84c..3239ce6dd 100644 --- a/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md +++ b/_posts/2026-07-02-local-ai-with-electron-and-llama-cpp.md @@ -29,7 +29,7 @@ collection: events On July 2nd we'll be joined by Roger Carvalho - creator of [Clipbeam](https://clipbeam.com/). -In this talk Roger will discuss how to build a cross platform desktop apps that can take advantage of AI capabilities without relying on cloud-based APIs. +In this talk Roger will discuss how to build a cross platform desktop app that can take advantage of AI capabilities without relying on cloud-based APIs. We'll be taking a look at [Clipbeam](https://clipbeam.com/) - a collection of JavaScript and native modules that allow content extraction from webpages, files and audio, auto tagging & categorization of content, RAG with semantic search, and an AI chatbot with voice capabilities that runs entirely on a user's device.