Slomo Djembe
Feel every beat.
- Last uploaded
- —
- Next upload
- Mon Nov 9, 8:30 AM
Automation / Facebook
Behind the autoposter
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.
01 / Pages
Slomo Djembe is managed here. The other two queues are read directly from their existing SQLite databases.
Feel every beat.
The stuff we actually remember.
Find a code. Share a code.
02 / Queue
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.
November 09 to December 08, 2026
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.
This is one to keep near the drum. Slow, practical, and easy to come back to. Shared from Howcast on YouTube.
via HowcastWhat skin is on your djembe right now, and would you choose it again?
Turn this one up. The whole thing is worth watching. Shared from SHADRACKMASIGA TV on YouTube.
via SHADRACKMASIGA TVRhythm 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…
A useful detour. It applies to hand drums and kit alike. Shared from Stephen Taylor on YouTube.
via Stephen TaylorThe breakdown here makes the technique feel manageable. Take it one piece at a time. Shared from Djembe Maste…
via Djembe MasterRhythm 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…
The conversation between the hands and the ensemble is the part to watch. Shared from wuladrum on YouTube.
via wuladrumThree shares, one question, one original card. Every day for thirty days.
video_share 2026-12-08T00:30:00+00:00 fb=857872817418280_122148282429185613
rhythm_card 2026-12-07T22:00:00+00:00 fb=122148282381185613
video_share 2026-12-07T18:30:00+00:00 fb=857872817418280_122148282351185613
question 2026-12-07T16:00:00+00:00 fb=857872817418280_122148282315185613
video_share 2026-12-07T13:30:00+00:00 fb=857872817418280_122148281937185613
video_share 2026-12-07T00:30:00+00:00 fb=857872817418280_122148281889185613
question 2026-12-06T22:00:00+00:00 fb=857872817418280_122148281853185613
video_share 2026-12-06T18:30:00+00:00 fb=857872817418280_122148281835185613
rhythm_card 2026-12-06T16:00:00+00:00 fb=122148281793185613
video_share 2026-12-06T13:30:00+00:00 fb=857872817418280_122148281757185613
03 / Process
Facebook does the timed publishing. This service owns the queue, the decisions, and the paper trail.
A 30-day editorial file defines every slot, caption, source link and rhythm card. Nothing is generated live on Facebook.
content/slomo_30day.json
Posts are seeded into SQLite with a unique key per slot. Re-running the seed cannot duplicate a post.
data/automation.db
The worker sends approved posts to the Graph API as native scheduled posts, inside the 30-day window.
POST /{page}/feed
Facebook publishes at the exact time. The worker confirms the post ID and stores the permalink after it goes live.
GET /{post-id}
A 30-second loop checks due posts, reconciles published posts, refreshes page data and re-checks the token.
automation-worker.service
| Piece | What it does | Rhythm |
|---|---|---|
automation-web | Serves this dashboard and the status API | always · 127.0.0.1:8190 |
automation-worker | Schedules, publishes fallbacks, reconciles, snapshots | loop every 30s |
nginx | TLS and reverse proxy for automation.kituwa.com | always |
SQLite (WAL) | Queue, status, event log, page snapshots | one writer |
Graph API v26.0 | Native scheduled posts and Page data | on schedule / reconcile |
The question and the rhythm card swap between 11:00 and 17:00 on alternating days so the page does not feel metronomic.
/home/ubuntu/automationautomation-web · automation-workerWhat this page still needed, and why a rhythm card is the answer.
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.
Written and rendered for Slomo Djembe. No copyright question, no borrowed voice, no re-upload.
A playable pattern, a clear key, and a tempo. Valuable without a video or a long caption.
Each card ends with a practice prompt, which gives drummers a specific reason to comment instead of just liking.
Thirty different cards, each with its own pattern and focus, so the format never has to become noise.
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
The working directory, database, content, logs and credentials. Token values are never rendered here.
/home/ubuntu/automation
https://automation.kituwa.com/facebook/
/home/ubuntu/automation/app
/home/ubuntu/automation/data/automation.db
/home/ubuntu/automation/content/slomo_30day.json
/home/ubuntu/automation/content/videos_verified.json
/home/ubuntu/automation/content/cards
/home/ubuntu/automation/logs
/home/ubuntu/automation/.env (0600)
/home/ubuntu/lock/facebookSlomoDjembePageToken.txt (0600)
/etc/systemd/system/automation-web.service
/etc/systemd/system/automation-worker.service
/etc/nginx/sites-enabled/automation-kituwa-https
/etc/nginx/sites-enabled/automation-kituwa-http
/etc/letsencrypt/live/automation.kituwa.com
/home/ubuntu/fb-nostalgia-autoposter
/home/ubuntu/fb-nostalgia-autoposter/sites/rewind/data/posts.db
multisite-rewind-admin-1 (Docker)
multisite-rewind-admin-1 (python -m admin.worker)
/home/ubuntu/fb-nostalgia-autoposter
/home/ubuntu/fb-nostalgia-autoposter/sites/referstash/data/posts.db
multisite-referstash-admin-1 (Docker)
multisite-referstash-admin-1 (python -m admin.worker)
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
Copy these from the working directory on the server. The commands are intentionally short.
curl -fsS https://automation.kituwa.com/facebook/healthz
sudo systemctl start automation-web automation-worker
sudo systemctl stop automation-worker
systemctl status automation-web automation-worker --no-pager
journalctl -u automation-worker -f
cd /home/ubuntu/automation && .venv/bin/python scripts/seed_campaign.py
cd /home/ubuntu/automation && .venv/bin/python -m app.cli schedule --limit 40
cd /home/ubuntu/automation && .venv/bin/python -m app.cli reconcile
cd /home/ubuntu/automation && .venv/bin/python scripts/verify_campaign.py
sudo systemctl restart automation-web automation-worker
cd /home/ubuntu/automation && .venv/bin/python -m app.cli status
Prints scheduled, published, next and last for every project.
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.
sudo nginx -t && sudo systemctl reload nginx
Validate and reload after any edge change.
The queue is capped at one morning, midday, afternoon, evening and night slot. The dashboard counts the whole window.
Every video post links to the original YouTube video and names the channel in the caption. Nothing is downloaded or claimed as original.
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.
A rejected schedule or a publish timeout becomes needs review in the queue instead of disappearing. The activity feed shows the last ten events.
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.
Every post has a stable key like slomo:2026-11-09:0830. Re-seeding the plan cannot create a duplicate.
Keep it human
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.