Behind the autoposter

Five posts a day.
Thirty days of drums.

The Slomo Djembe Facebook page is running on a 30-day editorial queue: three YouTube shares, one real question, and one original rhythm card every day. This page shows exactly what is queued, what went out, and what happens next.

90 video shares 30 questions 30 rhythm cards
150 in the plan
145 scheduled on Facebook
0 published
29 days left

01 / Pages

Every autoposter on the board.

Slomo Djembe is managed here. The other two queues are read directly from their existing SQLite databases.

S

Slomo Djembe

Feel every beat.

active
5 queued
145 on Facebook
0 published
Last uploaded
—
Next upload
Mon Nov 9, 8:30 AM
150 posts · Managed here Open Facebook page ↗
R

Rewind MODE

The stuff we actually remember.

live
0 queued
98 on Facebook
14 published
Last uploaded
Thu Nov 5, 9:00 PM
Next upload
Mon Nov 9, 9:00 AM
112 posts · Read-only queue Open admin ↗
R

ReferStash

Find a code. Share a code.

live
0 queued
9 on Facebook
1 published
Last uploaded
Thu Nov 5, 12:00 PM
Next upload
Mon Nov 9, 12:00 PM
10 posts · Read-only queue Open admin ↗

02 / Queue

The next thirty days.

Each cell is one day. Five dots are five posts. Hover a dot for the slot and caption. Queued means it is in the local plan; scheduled means Facebook is holding the publish time.

Editorial calendar

November 09 to December 08, 2026

Video Question Rhythm card
9 today
0/5
10
0/5
11
0/5
12
0/5
13
0/5
14
0/5
15
0/5
16
0/5
17
0/5
18
0/5
19
0/5
20
0/5
21
0/5
22
0/5
23
0/5
24
0/5
25
0/5
26
0/5
27
0/5
28
0/5
29
0/5
30
0/5
1
0/5
2
0/5
3
0/5
4
0/5
5
0/5
6
0/5
7
0/5
8
0/5
published scheduled queued Today: Monday, November 09

Campaign progress

Nov 09 – Dec 08
0 published 145 on Facebook 5 queued
Day1 / 30
Days left29
Last upload—
Next uploadMon Nov 9, 8:30 AM

Published is live on the Page. On Facebook is the number already sent to native scheduling. Queued is still local and the worker will schedule it as the 29-day window moves.

Next up

8 shown
  1. Mon 08:30am
    Video share scheduled

    This is one to keep near the drum. Slow, practical, and easy to come back to. Shared from Howcast on YouTube.

    via Howcast
  2. Mon 11:00am
    Question scheduled

    What skin is on your djembe right now, and would you choose it again?

  3. Mon 01:30pm
    Video share scheduled

    Turn this one up. The whole thing is worth watching. Shared from SHADRACKMASIGA TV on YouTube.

    via SHADRACKMASIGA TV
  4. Mon 05:00pm
    Rhythm card scheduled

    Rhythm card 1/30: First Touch B T S T | B T S T Keep the bass relaxed and let it ring. Tone and slap should f…

  5. Mon 07:30pm
    Video share scheduled

    A useful detour. It applies to hand drums and kit alike. Shared from Stephen Taylor on YouTube.

    via Stephen Taylor
  6. Tue 08:30am
    Video share scheduled

    The breakdown here makes the technique feel manageable. Take it one piece at a time. Shared from Djembe Maste…

    via Djembe Master
  7. Tue 11:00am
    Rhythm card scheduled

    Rhythm card 2/30: Double Bass B B T S | B B T S Two bass notes in a row, no bounce. Let the second one land b…

  8. Tue 01:30pm
    Video share scheduled

    The conversation between the hands and the ensemble is the part to watch. Shared from wuladrum on YouTube.

    via wuladrum

Content mix

150 posts
Video shares90
Questions30
Rhythm cards30

Three shares, one question, one original card. Every day for thirty days.

Activity

latest 10
  • scheduled native

    video_share 2026-12-08T00:30:00+00:00 fb=857872817418280_122148282429185613

  • scheduled native

    rhythm_card 2026-12-07T22:00:00+00:00 fb=122148282381185613

  • scheduled native

    video_share 2026-12-07T18:30:00+00:00 fb=857872817418280_122148282351185613

  • scheduled native

    question 2026-12-07T16:00:00+00:00 fb=857872817418280_122148282315185613

  • scheduled native

    video_share 2026-12-07T13:30:00+00:00 fb=857872817418280_122148281937185613

  • scheduled native

    video_share 2026-12-07T00:30:00+00:00 fb=857872817418280_122148281889185613

  • scheduled native

    question 2026-12-06T22:00:00+00:00 fb=857872817418280_122148281853185613

  • scheduled native

    video_share 2026-12-06T18:30:00+00:00 fb=857872817418280_122148281835185613

  • scheduled native

    rhythm_card 2026-12-06T16:00:00+00:00 fb=122148281793185613

  • scheduled native

    video_share 2026-12-06T13:30:00+00:00 fb=857872817418280_122148281757185613

03 / Process

How a post gets made and sent.

Facebook does the timed publishing. This service owns the queue, the decisions, and the paper trail.

01

Plan

A 30-day editorial file defines every slot, caption, source link and rhythm card. Nothing is generated live on Facebook.

content/slomo_30day.json
02

Queue

Posts are seeded into SQLite with a unique key per slot. Re-running the seed cannot duplicate a post.

data/automation.db
03

Schedule

The worker sends approved posts to the Graph API as native scheduled posts, inside the 30-day window.

POST /{page}/feed
04

Publish

Facebook publishes at the exact time. The worker confirms the post ID and stores the permalink after it goes live.

GET /{post-id}
05

Watch

A 30-second loop checks due posts, reconciles published posts, refreshes page data and re-checks the token.

automation-worker.service

What runs what

PieceWhat it doesRhythm
automation-webServes this dashboard and the status APIalways · 127.0.0.1:8190
automation-workerSchedules, publishes fallbacks, reconciles, snapshotsloop every 30s
nginxTLS and reverse proxy for automation.kituwa.comalways
SQLite (WAL)Queue, status, event log, page snapshotsone writer
Graph API v26.0Native scheduled posts and Page dataon schedule / reconcile

Daily slots

ET
  • 08:30Video sharestart the day with a lesson
  • 11:00QuestionCardalternates by day
  • 13:30Video shareperformance or ensemble
  • 17:00QuestionCardthe other one
  • 19:30Video sharebroader drumming

The question and the rhythm card swap between 11:00 and 17:00 on alternating days so the page does not feel metronomic.

This deployment

live surface
Host
18.221.118.72 · AWS EC2
pwd
/home/ubuntu/automation
Web
gunicorn on 127.0.0.1:8190
Services
automation-web · automation-worker
Proxy
nginx · /facebook → 127.0.0.1:8190
TLS
Let's Encrypt · automation.kituwa.com
Schedule mode
live

The fifth post: original rhythm cards

What this page still needed, and why a rhythm card is the answer.

ours, not borrowed

Three video shares borrow attention. One question asks for attention. The fifth post has to give the page something of its own.

A djembe page can survive on curation and conversation, but it never becomes a place people return to until it teaches something. The fifth post is an original rhythm card: one short pattern, one plain-language tip, and one practice prompt. It is made for the page, not reposted from somewhere else.

That gives every day a small, useful thing a drummer can try in under a minute, and it builds a searchable library of patterns over the month instead of a feed of borrowed links.

01 Original by design

Written and rendered for Slomo Djembe. No copyright question, no borrowed voice, no re-upload.

02 Useful in one screen

A playable pattern, a clear key, and a tempo. Valuable without a video or a long caption.

03 Invites a reply

Each card ends with a practice prompt, which gives drummers a specific reason to comment instead of just liking.

04 Repeatable without filler

Thirty different cards, each with its own pattern and focus, so the format never has to become noise.

Decision

One original rhythm card every day, alternating between the 11:00 and 17:00 slots. Playable pattern + short explanation + one question. It is the only part of the daily mix that belongs entirely to the page.

Passed on: polls (low reach and little substance), reposted photos (no clear rights), artist spotlights (curation, not originality), long lessons (too much production for a daily slot).

04 / Paths

Where everything lives.

The working directory, database, content, logs and credentials. Token values are never rendered here.

Slomo Djembe

managed here
pwd · working directory /home/ubuntu/automation
Public URL https://automation.kituwa.com/facebook/
Application code /home/ubuntu/automation/app
Queue database /home/ubuntu/automation/data/automation.db
30-day content plan /home/ubuntu/automation/content/slomo_30day.json
Verified video list /home/ubuntu/automation/content/videos_verified.json
Rhythm card images /home/ubuntu/automation/content/cards
Logs /home/ubuntu/automation/logs
Environment file (0600) /home/ubuntu/automation/.env (0600)
Page token custody (0600) /home/ubuntu/lock/facebookSlomoDjembePageToken.txt (0600)
Systemd · web /etc/systemd/system/automation-web.service
Systemd · worker /etc/systemd/system/automation-worker.service
Nginx vhost (https) /etc/nginx/sites-enabled/automation-kituwa-https
Nginx vhost (http) /etc/nginx/sites-enabled/automation-kituwa-http
TLS certificate /etc/letsencrypt/live/automation.kituwa.com

Existing autoposters

read-only
Rewind MODElive
Working Directory /home/ubuntu/fb-nostalgia-autoposter
Database /home/ubuntu/fb-nostalgia-autoposter/sites/rewind/data/posts.db
Service multisite-rewind-admin-1 (Docker)
Worker multisite-rewind-admin-1 (python -m admin.worker)
ReferStashlive
Working Directory /home/ubuntu/fb-nostalgia-autoposter
Database /home/ubuntu/fb-nostalgia-autoposter/sites/referstash/data/posts.db
Service multisite-referstash-admin-1 (Docker)
Worker multisite-referstash-admin-1 (python -m admin.worker)
Secrets are not on this page.

The Page token lives at the path above with mode 0600 and is passed to the service through the environment. It never appears in HTML, logs or URLs.

05 / Runbook

What to run, and when.

Copy these from the working directory on the server. The commands are intentionally short.

Health
curl -fsS https://automation.kituwa.com/facebook/healthz
Start everything
sudo systemctl start automation-web automation-worker
Stop the worker
sudo systemctl stop automation-worker
Services
systemctl status automation-web automation-worker --no-pager
Worker logs
journalctl -u automation-worker -f
Seed the 30-day plan
cd /home/ubuntu/automation && .venv/bin/python scripts/seed_campaign.py
Schedule next window
cd /home/ubuntu/automation && .venv/bin/python -m app.cli schedule --limit 40
Reconcile
cd /home/ubuntu/automation && .venv/bin/python -m app.cli reconcile
Verify plan
cd /home/ubuntu/automation && .venv/bin/python scripts/verify_campaign.py
Restart
sudo systemctl restart automation-web automation-worker
Full status
cd /home/ubuntu/automation && .venv/bin/python -m app.cli status

Prints scheduled, published, next and last for every project.

Dry run a schedule pass
cd /home/ubuntu/automation && .venv/bin/python -m app.cli schedule --limit 5 --dry-run

Shows what would be sent to Facebook without calling the API.

Nginx + TLS
sudo nginx -t && sudo systemctl reload nginx

Validate and reload after any edge change.

01
Five a day, no more.

The queue is capped at one morning, midday, afternoon, evening and night slot. The dashboard counts the whole window.

02
Link shares, not re-uploads.

Every video post links to the original YouTube video and names the channel in the caption. Nothing is downloaded or claimed as original.

03
Original cards carry the page.

The fifth daily post is an original rhythm card: a playable pattern, a short explanation, and a question. It gives the page something that is ours.

04
Failures are visible.

A rejected schedule or a publish timeout becomes needs review in the queue instead of disappearing. The activity feed shows the last ten events.

05
Native scheduling first.

Facebook holds the scheduled time. The local worker only publishes directly if a post falls inside the ten-minute window or a native schedule was missed.

06
Idempotent by key.

Every post has a stable key like slomo:2026-11-09:0830. Re-seeding the plan cannot create a duplicate.

Keep it human

The page is a person sharing drums, not a brand shouting into a feed.

Questions are written like a drummer would ask them. Video shares credit the source. Rhythm cards are simple enough to try at home. The automation handles timing so the voice stays consistent.

Last queue write24s ago
Worker24s ago
Tokenok
Modelive