Loading works…
snstool
A SNS operations tool where you register any product (app, game, website, whatever) as a profile, and AI drafts Instagram/Threads posts and comment-reply candidates from that material, though nothing goes out until a person approves it. Built generic from the start: adding another product is just another profile, no code change. Started September 2026, still in progress.
Screenshots
Why I built it
Promoting my own apps and games on SNS means the same chore every time: turn a changelog entry into a caption, pick hashtags, line up an image. Doing it solo, this step was the first thing to slip, and full automation ("just let the account run itself") risks drifting into account-suspension territory: auto-follow, auto-like, auto-DM. So I built it the safe way instead: AI drafts, but nothing leaves the account until a person approves it.
Why generic
The first product I plugged in was my own Steam achievement tool, but the tool itself isn't tied to it. A product is registered as a profile (name, summary, tone, hashtags, banned words, SNS accounts), and material is read through a material adapter you pick: changelog, docs, an image folder, manual notes, or git tags. If adding one more product ever needed a code change, I'd call that a design failure; no product name is hardcoded anywhere in the code.
How a post gets made
When a material adapter finds something new (say, a fresh changelog section), it lands in a queue as a candidate. Only once a person picks a candidate does the AI get called, drafting an Instagram/Threads caption, hashtags, and, if needed, an image (converted from an existing shot, a generated text card, or none). On the approval screen you can edit the caption or add a one-line instruction and regenerate; a mechanical check (banned words, length, hashtag limits) and a second AI backend's review (exaggeration, claiming features the material never mentioned) both surface as warnings. Right now (phase A) an approved draft gets its caption copied and image folder opened so you can hand it to a scheduling tool like Buffer. Comments work the same way: paste one in, get 2 to 3 reply candidates in the commenter's own language, and only what you pick goes out.
Guardrails
AGENTS.md spells out a hard no-list: no auto-follow/like/DM, no commenting on other people's posts, no unofficial APIs (instagrapi and the like) or browser macros, no batch-replying without approval. The automation here stops at drafting; posting, replying, hiding, and deleting all require a person to click a button.
How it's built
Same shape as an earlier blog-ops tool I built (blogtool): a Node.js engine (material detection, draft generation, checks, AI calls) talks to a Python tkinter GUI over a line-based event protocol. AI calls also follow that same pattern: no API key, just headless calls to Claude Code CLI (subscription login) and Codex CLI (ChatGPT login), with a backend assigned per task and automatic fallback when one is unavailable.
Where it stands
Started 2026-09-14. Phase A's core loop is done: detect material, draft, check, approve, hand off to a scheduling tool, suggest comment replies. The screens have since been redrawn with an Instagram/Threads look across the main window plus four separate windows (draft editor, posting schedule, card maker, performance). 277 Node acceptance tests and 23 GUI verification hooks all pass, but this is still in progress: running it through a real product end to end hasn't happened yet, and phase B (posting and replying directly through Meta's official API) hasn't started. The source repository stays private.



