En central Windows-desktopapp der opretter, poster, overvåger og optimerer brugtsalgs-annoncer på tværs af Gul & Gratis, Vinted, DBA og Facebook Marketplace — fra minimalt input.
Kort fortalt: Opret en annonce én gang. Appen udfylder den optimalt på hver platform (rigtige felter, tags, kategorier), du logger ind med din egen konto, og du får ét samlet overblik over visninger, likes, udløb og status. AI (din egen nøgle) kan lave udkast fra fotos og skræddersy hver annonce til hver markedsplads.
Ingen af de fire platforme har et offentligt API en privatperson kan bruge til at oprette annoncer. Derfor gør appen præcis det samme som alle professionelle crosslisting-værktøjer (Vendoo, List Perfectly m.fl.): den automatiserer platformens egen web-UI i en synlig browser hvor du selv er logget ind.
To principper er bærende:
- Ingen gemte passwords. Du logger ind manuelt én gang pr. platform (inkl. 2FA og DBA's MitID) i et synligt browservindue. Appen persisterer kun den autentificerede browserprofil lokalt — aldrig dine credentials.
- Semi-auto som standard. Appen udfylder hele formularen, men du trykker publicér. Det holder dig i kontrol og minimerer risikoen for platform-bans. Fuld auto kan slås til pr. platform (undtagen Facebook, der altid kræver dit klik).
⚠️ Automatisering strider mod platformenes brugervilkår. Appen er tænkt som et personligt værktøj til din egen konto, kørt i menneskeligt tempo. Facebook har den højeste ban-risiko og behandles mest forsigtigt.
- Opret listing fra minimalt input — manuelt, eller lad AI lave et komplet udkast (titel, beskrivelse, kategori, stand, prisforslag, mærke, farve, størrelse, tags) ud fra dine fotos.
- Post på alle platforme — kanonisk annonce oversættes af et adapter-lag til hver platforms felter. Facebook-tags, Vinted-stand, DBA-kategori mv. håndteres pr. platform.
- Per-platform AI-optimering — samme vare, men omskrevet og udfyldt optimalt til hver markedsplads.
- Samlet dashboard — visninger, favoritter, beskeder, aktive opslag pr. platform, samt "kræver handling" (udløber snart / gået i stå).
- Quick-actions — bump (afmeld + genindryk), AI-omskriv titel/beskrivelse, prisjustering, afmeld, markér solgt.
- Udløbs-overvågning — DBA-annoncer udløber efter ~60 dage; appen holder styr og advarer.
- Salgs-detektion — når stats-scrapet ser en vare som solgt ét sted, mindes du om at afmelde de øvrige.
- Krypteret & lokalt — al data i lokal SQLite; API-nøgler krypteret med Windows DPAPI (Electron
safeStorage).
| Lag | Valg |
|---|---|
| Skal | Electron 43 + electron-vite |
| UI | React 19 + TypeScript + Zustand |
| Automatisering | Playwright (synlig, persistent Chromium-profil pr. platform) |
| Database | Nodes indbyggede node:sqlite (ingen native moduler at kompilere) |
| AI | Pluggbart: Anthropic (Claude), OpenAI, Google Gemini — din egen nøgle |
| Kryptering | Electron safeStorage (DPAPI på Windows) |
Arkitekturen er lagdelt: kanonisk domænemodel → adapter-lag pr. platform → Playwright-motor. Al platform-specifik viden (URL'er, selektorer, feltmapping) bor udelukkende i den enkelte adapter, så et UI-skift kun kræver ændring ét sted.
npm install
# valgfrit: hvis du vil bruge den medfølgende Chromium i stedet for Edge/Chrome
npx playwright install chromium
npm run dev # udviklingstilstand med hot reload| Kommando | Handling |
|---|---|
npm run dev |
Kør appen i udviklingstilstand |
npm run build |
Byg main/preload/renderer-bundles |
npm run typecheck |
TypeScript-tjek af hele kodebasen |
npm test |
Kør unit-tests (vitest) |
npm run smoke |
Byg + boot main-processen headless og kør kerneflows |
npm run package |
Byg Windows-installer (NSIS) i release/ |
- Platforme → log ind på hver markedsplads du vil bruge (browservindue åbner — log ind som normalt).
- Indstillinger → (valgfrit) indsæt en AI-nøgle for at aktivere AI-features. Sæt dit standard-postnummer.
- Annoncer → Ny annonce → tilføj fotos, klik "Lav udkast fra fotos med AI" (eller udfyld manuelt), og slå op på de valgte platforme.
- Alt kører lokalt. Ingen data forlader din maskine bortset fra (a) den normale trafik til platformene når du poster, og (b) de AI-kald du selv aktiverer mod din valgte udbyder.
- Renderer-processen har ingen Node-adgang (contextIsolation + typed preload-bro). Fotos serveres via en valideret, sandbox'et protokol der kun kan læse appens eget fotobibliotek.
- API-nøgler ligger krypteret; rå nøgler forlader aldrig main-processen.
Platform-UI'er ændrer sig uden varsel. Hver adapter beskriver felter med prioriterede selektor-lister (firstVisible), så mindre ændringer tåles. Ved større ændringer rettes kun den pågældende adapter i src/main/adapters/. Selektorerne bør kalibreres mod de live sites ved første kørsel.