Files
Romane 8d0fc29712
Build marp presentation / build marp presentation (push) Successful in 19s
spellcheck
2026-06-24 18:05:07 +02:00

210 lines
6.7 KiB
Markdown

---
title: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
author: R.Viton
description: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
keywords: []
header: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
footer: "2026-06-24"
marp: true
theme: gödel
paginate: true
transition: cover
size: 16:9
lang: de
math: katex
---
<style>
.inline-img {
display: flex;
align-items: center;
gap: .5rem;
}
</style>
<!-- _class: "title-academic" -->
![bg left:35% 250%](./images/title.jpg)
<div class="title">Privacy by design: DIY Marp(X) AI presentations without sending data to third parties</div>
<div class="subtitle">
... and why you should use them too!
</div>
<div class="author">Romane Viton</div>
<div class="date">2026-06-24</div>
<div class="organization">DFI-203, htw saar</div>
---
# **Contents**
1. Markdown / Writing presentations
2. Collaboration
3. Deploying / Keeping your data safe
4. Integrating LLMs
5. Evaluation / Tips
---
# A few **questions** first
* Who here would consider themselves a **developer** ?
* Experience with **code editors / IDEs** ?
* **More comfortable** with editor than with other software ?
* Does **text** just feel faster/more efficient at this point?
---
# <div class="inline-img"> ![w:100](./images/md.png) &nbsp; **Markdown**
## (It's everywhere - you've most likely dealt with it at least once)
```md
# Main title
## Heading 2 - You can make:
- *italic text*
- **bold text**
- ~~strikethrough~~
- lists
- [links](http://example.com)
- ![images](image_name_here)
- > Quotes
```
---
# Why not write **presentations** as text ?
## <div class="inline-img"> Introducing:&nbsp;![h:75](./images/marp.png) (Yuki Hattori)
* Markdown presentation ecosystem
* <span class="inline-img"> Comes as a ![h:75](./images/bash.png) command line tool or a ![h:75](./images/vscode.png) VSCode editor extension
* Technically Just A Web Page:tm: $\implies$ can write HTML/CSS if you want to customize
* MarpX (Paolo Cunha) offers high quality ready-to-use themes
* If you know Markdown/HTML/CSS: <box>No need to learn (yet another) tool!
---
# **Collaborating** with others / keeping track of **versions** ?
> ## "Well surely the editor can't do ***that*** ", I hear you say
* All the presentations are **text-based** versions of a file tree
* We need a tool to maintain **versions** of a text-based file tree...
* <span class="inline-img"> Ever heard of ![w:100](./images/git.png) `git`?
* We already have a **tool** to collaborate on versions of text-based projects!
---
# How do we make sure data is **safe** from big companies?
- There *are* online platforms like GitHub for this (but: this defeats the whole purpose)
- It's 2026, and servers are pretty cheap
- You can set up your own infrastructure in an afternoon
- (less than 100 lines of `docker-compose.yml`)
---
# One step further: hosting services on your **own infrastructure**
- I won't tell you how to set it up (plenty of guides online)
- TL;DR: **<box>On pushing changes $\rightarrow$ Auto-Render and Upload**
- Here are some tools I'm using for my personal setup:
<center>
Requirement | Possible tool
-:|:-
Server|Any VPS will do
Simple software deployment|Docker
HTTPS support|Caddy
Git collaboration|Gitea
Presentation hosting|Git-Pages
Automated deployment|Gitea Actions
</center>
---
# ...isn't this really **expensive**, though?
* Not really!
* Domain name: `~10 EUR/year`
* 24/7 VPS (200GB Storage, 6 vCPUs, 12GB RAM): `6.72 EUR/month`
* Also hosting other services on it and not even at capacity
* I use Contabo, but Hetzner/OVH/Hostinger also work
* *it's all yours, no need to worry about your data being accessed by third parties!*
* Privacy does have a price, but so does exposing your personal data
* **<box>Which one are you willing to pay?**
---
# ...wasn't this supposed to **integrate LLMs** as well?
* It can be done as well!
* Head start when hosting models: `Ollama` (from Ollama Inc.)
* Automatically handles the download and execution of open models locally
* **<box>💡 Works when handling content, since everything is text-based !**
* We can integrate this into our IDE of choice and never have to worry about our data being sent to anyone
---
# **Pros** and **cons** from experience
<div class="multicolumn"><div>
## Pros
- Enhanced privacy
- Very flexible if you know webdev
- No need to leave the traditional dev toolset
- Open-Source community tools, no dependency on a specific company
- Actually know what you're setting up
</div><div>
## Cons
- Steep learning curve
- Hard to collaborate with non-technical people
- Need to be comfortable with text-based tools
- Theme can be limiting if not chosen correctly
</div></div>
---
# **Tips**
- (same as any AI augmented tool): <box>Don't blindly trust the output, but use it as an assistant
- When using local models: try **different models** depending on your needs and hardware
- Don't be afraid to **tinker** around and see what works
---
# **Conclusion**
* Presentation software / AI often feels "out of reach" and only hostable if you're a company and have the resources for it
* It doesn't have to be that way!
* Don't contribute to that narrative $\implies$ <box>De-mystify the topic!
* *Your* data belongs to *you*; own it!
---
<!-- _class: "references" -->
# References
- [Marp Team, "Marp" (2026) (accessed 2026-06-23)](https://marp.app)
- [Paulo Cunha, "MarpX" (2026) (accessed 2026-06-23)](https://github.com/cunhapaulo/MarpX)
- [Ollama Inc., "Ollama" (2026) (accessed 2026-06-23)](https://ollama.com)
- [CommitGo Inc., "Gitea Official website" (2026) (accessed 2026-06-23)](https://about.gitea.com/)
- (image) https://www.pexels.com/photo/smiling-woman-doing-a-presentation-6476778/ (accessed 2026-06-23)
---
# **This presentation** was done with MarpX too!
<div class="multicolumn"><div align="center">
## PDF
[![](./images/pdf_qrcode.png)](https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf)
</div><div align="center">
## HTML
[![](./images/html_qrcode.png)](https://pages.ct.cozytren.ch/m1s2-eng-presentation)
</div><div align="center">
## Repository
[![](./images/repo_qrcode.png)](https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation)
</div></div>
```bash
wget https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf
git clone https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation
```
---
# GenAI use disclosure
(slide was appended after the presentation as per class instructions)
- `qwen3-coder:30b`, hosted locally using Ollama, has been used
- No use was made when generating the content
- The model has been used while proofreading the presentation for formatting and spelling issues but hasn't changed the content in any meaningful way