explaingit

bb8ad8/addroid-oss

13TypeScriptAudience · pm founderComplexity · 4/5Setup · hard

TLDR

A self-hosted console for managing Meta (Facebook and Instagram) ad campaigns using a Git-based Pull Request workflow, where AI proposes ad changes but a human must approve each one before anything is applied to Meta's systems.

Mindmap

mindmap
  root((addroid-oss))
    What it does
      Manage Meta ads via Git
      AI proposes changes
      Human approves via PR
    Interfaces
      Chat command
      Web UI on localhost
      CLI
      Slack slash command
    Tech Stack
      TypeScript
      Node.js
      PostgreSQL
    Use Cases
      Campaign management
      Ad improvement review
      Budget monitoring
    Setup
      Self-hosted local
      Meta Developer App needed
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Manage Facebook and Instagram ad campaigns using YAML config files stored in Git, with all changes reviewed as Pull Requests before going live.

USE CASE 2

Describe ad changes in plain language via chat and get a GitHub Pull Request generated automatically with the proposed configuration.

USE CASE 3

Receive AI-generated improvement suggestions for your ads based on performance reports, then approve them by merging a PR.

USE CASE 4

Activate or pause Meta ad campaigns through a Slack slash command without logging into Meta's dashboard.

Tech stack

TypeScriptNode.jsPostgreSQLGitHub CLIYAML

Getting it running

Difficulty · hard Time to first run · 1day+

Requires Node.js, PostgreSQL 16+, GitHub CLI, and a Meta Developer App with a System User and Access Token to manage real ad campaigns.

In plain English

AdDroid OSS is a self-hosted console for managing Meta (Facebook and Instagram) advertising campaigns using a workflow borrowed from software development. The README is written in Japanese. The core idea is that instead of making ad changes directly in Meta's dashboard, you store your ad configurations as YAML files in a Git repository, and all changes go through a GitHub Pull Request review before they are applied to Meta's systems. An AI component generates proposed ads or improvement suggestions, but a human must approve each change by merging the Pull Request before anything is sent to Meta. The system runs entirely on your local machine at a private address, requiring no public domain, no SSL certificate, and no tunnel service. All connections to external services, including GitHub, Meta, Slack, and the AI provider, are outbound from the application. A background job system handles scheduled tasks such as pulling performance reports, monitoring budgets, and generating improvement suggestions automatically. The main way to interact with AdDroid is through a chat command where you describe what you want in plain language, and the tool translates that into a Pull Request against your ad configuration repository. There is also a web interface at localhost port 3000, a command-line interface, and optional Slack integration that lets you activate campaigns via a slash command. Setup requires Node.js, Git, GitHub CLI, and PostgreSQL 16 or later. The initialization command walks through diagnosing and installing missing dependencies step by step. It encrypts secrets locally and never stores your Meta Access Token in plain text. Platform support covers macOS 13 and later, mainstream Linux distributions, and Windows via WSL2. Windows native without WSL2 is not supported due to file permission and process management requirements. Using AdDroid with a real Meta advertising account requires obtaining a Meta Access Token through a Meta Developer App. The setup documentation includes a detailed walkthrough for creating a Business App, configuring a System User, assigning the right advertising assets, and generating a token with the correct permissions. The application's core health checks pass without the token, but applying or activating any actual ad campaign requires it.

Copy-paste prompts

Prompt 1
Set up AdDroid OSS on macOS to manage my Facebook ad campaigns with a Git-based review workflow. Walk me through initialization and Meta API token setup.
Prompt 2
I want to create a new Instagram ad campaign using AdDroid's chat command. How do I describe the campaign in plain language to generate a Pull Request?
Prompt 3
How does AdDroid's AI improvement suggestion workflow work? Show me how to review and approve a suggested ad change via GitHub PR.
Prompt 4
Set up the Slack integration in AdDroid so I can activate or pause Meta campaigns using a slash command from my team channel.
Prompt 5
Explain how AdDroid encrypts my Meta Access Token locally and what permissions the System User needs to run ad campaigns.
Open on GitHub → Explain another repo

← bb8ad8 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.