MonkeyBeans

Publish to Your Blog
from Your iPhone

MonkeyBeans lets you write and publish posts and links directly to your git-based static site — no laptop required.

Built for Indie Bloggers

✍️

Blog Posts

Write full Markdown posts with title, tags, and draft mode. Publishes directly to your GitLab repository with a single tap.

🔗

Link Posts

Share links from anywhere in iOS via the share sheet. Automatically fetches page titles and cleans tracking parameters.

🖼️

Image Uploads

Attach photos from your library. Images are resized and uploaded alongside your post in a single atomic commit.

🏷️

Tag Management

Tags are scanned from your existing posts and cached locally. Add new tags on the fly or pick from your history.

📝

Drafts

Save drafts and come back to them later. Drafts sync automatically via iCloud when available, so you can start on one device and pick up on another. The share extension can append captured links to any open draft.

⚙️

Configurable

Set your target branch, posts path, and links path to match your SSG's directory structure. Works with Eleventy and similar setups.

Frequently Asked Questions

What do I need to get started?

You need a GitLab repository hosting your static site and a GitLab Project Access Token with api scope and Developer role or higher. That's it — no account with MonkeyBeans, no intermediary server.

How do I create a GitLab Project Access Token?

In GitLab, open your repository and go to Settings → Access Tokens. Create a new token with:

  • Role: Developer or higher
  • Scope: api

Copy the token and paste it into MonkeyBeans under Settings → GitLab Project Access Token. The app validates the token against your repo before saving it.

Why is the Publish button disabled?

A few things can disable publishing:

  • No token configured - add your GitLab Project Access Token in Settings.
  • Branch protection - your target branch may be protected against direct pushes. See the next question.
  • Missing title - posts and links require a title before publishing.
  • Missing ALT text - if you've enabled required ALT text for images in Settings, all attached images need descriptions.
I'm getting a "403 Forbidden - not allowed to push" error. What's wrong?

Your target branch has push protection enabled in GitLab. To fix it, go to your GitLab repository → Settings → Repository → Protected Branches, find your branch, and either allow Developers to push or remove the protection rule. MonkeyBeans will check this automatically and warn you on the home screen if it detects the issue.

Does MonkeyBeans work on Mac?

Yes. MonkeyBeans is available on macOS via the Mac App Store as an iPhone and iPad app. It runs natively through Apple Silicon and works well for publishing from your desktop when you want to stay in the same workflow as your phone.

What static site generators does it support?

MonkeyBeans was built for Eleventy but works with any git-based static site that stores posts as Markdown files with YAML frontmatter. The posts path, links path, and target branch are all configurable in Settings to match your repo's structure.

My posts are organized by year (e.g. src/posts/2026/). Does that work?

Yes. MonkeyBeans automatically places new posts in a year-based subfolder matching the current date, and the repo scanner recognizes year-organized directories when auto-detecting your content paths.

Does my data go through your servers?

No. MonkeyBeans communicates directly with the GitLab API using your token. Nothing is routed through a third-party server. Your token is stored in the iOS Keychain and never leaves your device except in requests to GitLab.

Is GitHub supported?

Not yet — MonkeyBeans currently requires GitLab. GitHub support is planned for a future release.

Questions or Feedback?

MonkeyBeans is a personal project. If you run into a bug or have a feature request, drop me an email.

Email Support Buy Me a Coffee

If MonkeyBeans saves you time, a tip is always appreciated.

Privacy Policy