// ROADMAP

On the way

Planned work, roughly in order. No dates we can't keep — these ship when they're solid.

PLANNED
  • More SSH key types (RSA & Ed25519 today)
CONSIDERING
  • Posting a new post’s link to Mastodon or Bluesky after publishing
  • Rolling a site back to an earlier publish
  • More than one language on one site
OUT OF SCOPE, BY DESIGN
  • Built-in analytics, comments or newsletter sending
  • Accounts, or a Selfish server holding your writing
  • Scripts on your site that you didn’t add

Have a request? See support options.

From the last roadmap, now built: a theme made for photographs (Darkroom), and three more for the kinds of site you can start, custom CSS, six free typefaces for any theme, in place of the paid font packs once planned, Selfish itself in German, French, Spanish and Japanese, a second place to publish the same site and creating the GitHub repository from inside the app.

// RELEASE HISTORY

Shipped

v1.3CURRENT
9 October 2026
iPhone, iPad and Mac

Selfish speaks your language, and brings four new themes: one for photographs, one for a journal, one for a project and one for a link page. Six free typefaces, custom CSS, and a second place to publish the same site.

Your language

APP Selfish in German, French, Spanish and Japanese, as well as English. Every screen, menu, message and VoiceOver label follows your device’s language, and so do the share sheet, the widgets, Siri, Shortcuts and the Mac’s Services.
APP Your sites keep their own language. A site’s pages, dates and wording follow the language in its settings, as before, whatever language the app is in.

Four new themes

SITE Darkroom, a theme for photographs (£1.99). The home page is a contact sheet: every post a square frame on near-black, its title and date beneath, and a post with no photo a frame of its words. Each post prints its photos wider than the text, never taller than the screen. See it live →
SITE Daybook, a theme for a journal (£1.99). Every entry is led by its date, set in the margin beside a ruled line, so a note with no title reads as naturally as a post. A book serif on warm paper, by lamplight in dark mode. See it live →
SITE Handbook, a theme for a project’s site (£1.99). Its pages run down a sidebar like a manual, with the one you’re on marked; updates are a plain list; code and notes stand out. See it live →
SITE Signpost, a theme for a link page (£1.99). Your picture, your name, and everywhere you are as a column of buttons — your menu’s pages and links elsewhere — with your posts as a short list beneath. See it live →
SITE Project page and Link page, two new kinds of site to start from: in Handbook or Signpost if you own them, Default or Sky if not, with draft pages to fill in.

Make it yours

SITE Six typefaces, free with every theme: Literata, Source Serif 4, Fraunces, Inter, Atkinson Hyperlegible Next and JetBrains Mono, beside the fonts every reader has. The one you choose is published with your site, with its licence, so readers still load nothing from anywhere else. Design →
SITE Custom CSS (£1.99). Under a theme’s options, write rules of your own: they go after the theme’s, so they win, with any theme, on every site. The site check names anything they load from elsewhere.
SITE Every theme easier to read. Links, dates and labels in Default, Sky, Mono, Modern, Editorial, Classic and Zine now read clearly against what’s behind them, in light and dark, and Zine’s code blocks are readable again. Readers who ask for less motion get none.
SITE Style sheets that update at once. A new site’s pages, and any site’s once its look changes, name the style sheet by its contents, so no browser shows new pages in an old theme.

Publish

PUBLISH A second destination. Publish the same site somewhere else too — a folder to look at before it goes live, or a copy on another host. Add one in Publishing; the Publish screen asks which to publish to, and offers the other once one is done. Shortcuts’ Publish Site can go to either, or both. Publishing →
PUBLISH New Repository… Signed in with GitHub, Publishing can make the repository for your site, named from its title. GitHub Pages →

App

MAC Settings. The app’s own settings — the composer’s text size, your purchases and Restore Purchases, iCloud’s sync status, What’s New and help — from the gear beside Sites, or Selfish ▸ Settings… (⌘,) on the Mac, where Site Settings is now ⌥⌘,.
MAC iPad menus. Hold ⌘ on an iPad keyboard to see the Mac’s File and Site menus and their shortcuts: New Post, New Page, Publish, Themes, Site Settings and ⌘1–⌘9 for your sites. Keyboard shortcuts →

Fixed

FIXED On the Mac, words typed just before or after a photo were saved as the photo, so they never reached the site.
FIXED A post or page titled wholly in Japanese, Chinese, Russian or another script an address can’t hold now gets its date and time as its address, as a note does, not “untitled”. Addresses already online stay as they are.
FIXED A draft made with Shortcuts, the Mac’s Services or Posts from Photos took the post’s id as its address when published. It now takes its title’s, or its date’s.
FIXED A Markdown copy of a site no longer rewrites files on a site that hasn’t changed, so a sync folder sees only the posts that really changed.
FIXED Saving the menu or Readers & Links, or exporting and restoring a site, no longer drops what a newer Selfish on another device had added.
v1.2
5 October 2026
iPhone, iPad and Mac

The release that lets you move in, and leave again. Importers for WordPress, Ghost, Substack, Medium and Markdown; a full export; two new ways to publish; and a publish that shows what will change, sends only that, and takes down what you have removed.

The first release since 1.1 on iPhone and iPad and 1.0 on the Mac, and the first to bring all three to the same version. On the Mac it also brings 1.1’s inline photos, video and audio.

Move in, move out

IMPORT Leave WordPress. Import the export file from Tools → Export: posts, pages, categories, tags, excerpts and featured images come across, photos are downloaded from your old site at full size, and captions, galleries and embeds keep their place. How importing works →
IMPORT Leave Ghost, Substack or Medium. Import Ghost’s export file, Substack’s export folder or the folder Medium’s “Download your information” gives you. Posts for members or paying subscribers arrive as drafts, and Substack’s subscriber list is never opened.
IMPORT Bring a folder of Markdown from Hugo, Jekyll, Eleventy or Obsidian: posts, pages, dates, drafts, categories, tags and photos become a new site.
IMPORT Bring in any blog by its address. Selfish finds its feed and brings in the posts it holds, photos and podcast audio included.
IMPORT Old links keep working. An imported post remembers its old address, and links to it lead to the post once your site lives where the old one did — real redirects on Netlify and Cloudflare Pages, a small forwarding page elsewhere.
IMPORT Export your site. A folder with every post and page as a Markdown file, all your photos, videos and audio, and your settings. Hugo, Jekyll and Eleventy can read it as it is. Passwords, secret keys and tokens are never included. Export and backup →
IMPORT Restore an export on a new device, or hand a site to someone else: it comes back exactly as it was, ready to publish once its password or token is added.
IMPORT A Markdown copy of your site, kept up to date in a folder you choose as you write.
IMPORT Get a lost site back from the web. Given your site’s address, Selfish rebuilds it from its own published pages.
IMPORT One post in, one post out. Import a Markdown or plain-text file as a draft; share a post as Markdown with its photos, a self-contained web page, or a PDF.
IMPORT Duplicate a site, and copy or move a post to another of your sites. A moved post’s old address sends readers to its new home.

Publish

PUBLISH Publish over WebDAV — to Nextcloud or ownCloud, a Synology or QNAP, Fastmail Files, a Hetzner Storage Box, or a web host that offers it. HTTPS only. Set up WebDAV →
PUBLISH Publish to a folder — in iCloud Drive, Dropbox, or one your web host’s app keeps in sync. Set up a folder →
PUBLISH Sign in with GitHub instead of copying a token: approve Selfish on GitHub, choose the repository it may reach, and it turns Pages on when you first publish. An access token still works. GitHub Pages →
PUBLISH “Where should your site live?” When a site has nowhere to publish yet, Publishing asks in plain words, says what each choice needs, and links to the pages where the account, project and token are made.
PUBLISH See what will change before you publish: new, updated and taken-down posts and, where Selfish keeps its record beside the site, how much will upload and a list of the files. How publishing works →
PUBLISH Only changes are sent. SFTP, S3 and GitHub Pages now upload just the files whose content changed, as Netlify and Cloudflare Pages already did.
PUBLISH Your live site matches your device. On SFTP and S3, unpublishing or deleting a post takes it off your server, photos and all. Selfish only ever removes files it recorded uploading.
PUBLISH Safe across devices. On SFTP, WebDAV, S3 and folders, if your live site has posts this device hasn’t synced yet, or newer versions of them, the publish screen says so before anything is replaced.
PUBLISH A site check before you publish: photos with no description, links to posts that aren’t online, very large files, posts with no description, a missing site address. It never stops you.
PUBLISH A privacy report for every publish. Selfish reads the pages it just built and says what they ask of readers’ browsers.
PUBLISH Checks that it’s live. After publishing, Selfish opens your site’s address and confirms it shows the new version — or says why not.
PUBLISH Publish history: when, where to, how much was sent, and which posts went up, changed or came down. It stays on your device.
PUBLISH Your own domain, step by step. For GitHub Pages, Netlify and Cloudflare Pages, Publishing shows the DNS records your domain needs and checks them from your device. Custom domains →
PUBLISH Test Connection names the fix when everything connects but the site still wouldn’t show: GitHub Pages switched off or serving another branch, an SFTP folder with the host’s web folder inside it.
PUBLISH Schedule a post. Mark it Published with a later date and it stays off your site until that day, then goes out at the first publish from it. Selfish reminds you that morning.
PUBLISH Publishing keeps going when you leave the app on iPhone and iPad.
PUBLISH Publishing credentials sync between your own devices through iCloud Keychain, so a site set up on iPhone can be published from the Mac.
PUBLISH GitHub Pages keeps your custom domain. The CNAME file GitHub stores it in is carried over on every publish.
PUBLISH Your own files are safe. On SFTP, WebDAV, S3 and folders, a robots.txt, favicon or 404 page that Selfish didn’t put there is left exactly as it is.
PUBLISH Addresses without .html, if you want them: /posts/my-post/ instead of /posts/my-post.html, with the old addresses still leading to your posts.
PUBLISH On Amazon S3 and S3-compatible storage, every file now tells browsers how long to keep it.
PUBLISH Plainer words when something goes wrong. A dropped connection, a server that doesn’t answer, or an address that leads nowhere is described as what it is and what to do — and checking what’s live gives up after 75 seconds rather than waiting for ever.
PUBLISH Once, after this update: the first publish to SFTP, WebDAV, S3 or a folder uploads everything, to create Selfish’s record of what is live, and every post page is sent once more for its new markup. After that, only changes.
PUBLISH Share what you just published: the new post’s link, straight from the publish screen.

Write

WRITE More formatting: code, strikethrough, a divider line and footnotes, numbered for you. Writing →
WRITE A read-more break and a table of contents for long posts.
WRITE Lists as you type: Return starts the next item, and Return on an empty item ends the list.
WRITE Smarter paste. A web address pasted over selected text makes it a link; text copied from a web page, Google Docs, Pages or Notes keeps its formatting; code becomes a code block.
WRITE Link to another post. The link follows the post if its address changes.
WRITE Keyboard shortcuts: ⌘B, ⌘I and ⌘K, and ## , ### or > typed at the start of a line.
WRITE Find and replace in the editor, and bigger or smaller text.
WRITE Notes. Leave a post’s title empty and it’s a note, short as on a social feed.
WRITE Earlier versions of a post, kept on the device you wrote on, to read and bring back.
WRITE Suggestions, written on your device. Where Apple Intelligence is on, Details offers a description and picks from your tags. Nothing about the post leaves your device.
WRITE Recently Deleted. A deleted post or page waits 30 days before it’s gone, and comes off your live site at the next publish.
WRITE Start a page from a template: About, Now, Uses, Contact, Blogroll or Colophon.
WRITE Record audio in a post, drag photos in from other apps, paste a photo, or, on iPhone and iPad, draw one with Apple Pencil or a finger. Photos, video and audio →
WRITE Photos side by side, crop and rotate with Revert, a focal point for square thumbnails, and camera details on request — never where it was taken.
WRITE An index thumbnail for each post, chosen from its photos or added only for the listing.
WRITE Link cards. A link alone on its line can show the page’s title, description and picture, kept with your post so your page loads nothing from the other site.
WRITE Posts from Photos: one post holding them all, or a post for each, dated the day it was taken.
WRITE Writing Stats: your posts and words over the last twelve months, counted on your device.
WRITE Details — status, date, category, tags, address, description — now save automatically, like the words do.

Your site

SITE Make a theme yours, free. An accent colour, a typeface, always light or always dark, and the column width, for every theme. Design →
SITE A menu on every page, in the order you choose, with links to other places, an archive page, a Subscribe page and search if you want it.
SITE Search your site. The only script Selfish ever adds, so it’s off until you add it: it runs on the search page alone and reads only your own site.
SITE A page as your home page, with your posts on a Blog page — or an introduction above your newest posts.
SITE Pages of posts. Choose how many your home page and archives show; older posts continue on page 2.
SITE Excerpts, titles or whole posts on your home page and archives, and an excerpt you can write yourself.
SITE Pin a post to the top, keep one off the lists while it stays published, ask search engines not to list one, or credit the address where it first appeared.
SITE Share a draft at an address no one could guess, before it’s public.
SITE Reading time, updated dates, related posts and series, and older and newer posts linked at the foot of every post.
SITE A podcast, free. Every post with audio becomes an episode of a feed you can add to Apple Podcasts, Overcast or any podcast app. Readers and feeds →
SITE Whole posts in your feed, photos included, and a feed for each category and tag.
SITE Share cards. With them on, a post with no photo shows its title in your theme’s colours when it’s linked from Mastodon, Bluesky or Messages. New sites start with them on.
SITE Lighter, steadier pages. Photos carry their size and load as the reader reaches them, each can be published at smaller sizes for phones, and videos show a picture before they play.
SITE Code in colour, with no scripts. A code block that names its language is coloured as your site is made.
SITE Your site’s language and time zone are settings, and Selfish’s own words on your site — Read more, Older posts, the 404 page — come in 21 languages.
SITE The files every site should have: a “Page not found” page in your theme, a robots.txt, and an icon for browser tabs and home screens — your avatar or, with the new monogram setting, the first letter of your site’s title.
SITE Your logo beside your site’s name in every theme but Sky, which shows your avatar already — and your footer, your way: a line of your own, a Creative Commons licence, and the “Published with Selfish” credit, which you can turn off.
SITE Browsers enforce the privacy promise. One setting tells browsers to run no script and load nothing from anywhere else.
SITE One main heading on each page (on for new sites), a “Skip to content” link, visible keyboard focus, and print styles that leave out the menus.
SITE Dates no longer depend on which device publishes, and a page with no photo of its own now shows your banner in link previews in every theme.

Readers

READERS Readers & Links. Your links elsewhere at the foot of every page, each marked as yours so Mastodon shows your site as verified; credit on Mastodon’s previews of your posts; your domain as your Bluesky handle; Reply by email under each post; Subscribe by email through the feed-to-email service you choose; and Google’s and Bing’s verification codes.
READERS Webmentions and IndieWeb markup. Posts are marked up as h-entries, and Selfish can tell the sites your new posts link to.

Capture

CAPTURE Share to Selfish from any app. A page from Safari with the words you selected, a link, text, or up to ten photos becomes a draft in the site you choose. Capture →
CAPTURE Widgets and a Control Centre control. Your newest drafts on the Home Screen, Lock Screen or the Mac’s desktop, and New Post one tap away.
CAPTURE More Shortcuts actions: Publish Site, Create Post, Append to Post and Find Posts. “Publish my Selfish site” works with Siri.
CAPTURE Start a draft from any app on the Mac with Services → New Selfish Draft With Selection.
CAPTURE Find your posts from system search and carry on writing on another device with Handoff.

Your sites

OWN New sites don’t start blank. Say what kind of site it is — a blog, a photo journal, notes or essays — and it starts with a theme that suits it and starter pages as drafts. A first site also gets a welcome draft that shows how formatting and photos work.
OWN Deleted sites can come back. A deleted site waits in Recently Deleted for 30 days, with every post, photo, setting and password.
OWN Archive a site you’re not working on, and see what a site takes on your device.

Mac, iPad and accessibility

MAC Mac: photos, video and audio in the body, where you put them — and drag them in from Finder or Photos.
MAC Mac: a post in its own window, a Site menu, ⌘1–⌘9 to switch sites, and a Publish button that counts what isn’t live yet.
MAC Mac: fixed a crash when resizing the window with Details open.
MAC iPad: the button that brings the Sites list back is there in portrait.
MAC Better with VoiceOver. Every photo in a post can be reached and described, headings are announced, and cropping and the focal point work without dragging.
v1.1
22 September 2026
iPhone and iPad
WRITE Photos, video and audio are now placed inline in the post, where you put them, instead of collecting in a gallery below the text. The composer shows each one in place as you write, and the published page puts it exactly there.
WRITE Tap a placed photo to edit its caption and alt text.
WRITE The word count no longer counts each placed photo as a word.
v1.0LAUNCH
21 September 2026
iPhone and iPad · Mac on 30 September 2026
WRITE Fast composer for posts and pages across iPhone, iPad, and Mac — plain text with light formatting (bold, italic, links, headings, quotes) from a toolbar, photos optimized automatically, autosave, drafts, and a live preview that matches the published output exactly.
GENERATE Complete static sites — responsive HTML, category and tag archive pages, sitemap.xml, and an RSS feed.
GENERATE Four built-in themes — Default, Modern, Classic, and Sky — plus Mono, Editorial, and Zine as optional one-time purchases.
PUBLISH Direct SFTP publishing with password or SSH-key auth (RSA & Ed25519), trust-on-first-use host-key pinning, automatic remote directories, and per-file progress.
PUBLISH S3-compatible publishing — Amazon S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, MinIO.
PUBLISH Netlify and Cloudflare Pages publishing — deploy with an API token, no server to run; content-addressed uploads skip files that haven’t changed.
PUBLISH GitHub Pages publishing — each publish is one commit to a repository, made through GitHub’s API with no git client on your device.
OWN iCloud sync keeps your sites, posts, and photos in step across your devices — through your own iCloud, never our servers.
OWN Local-first storage, Keychain-only credentials, no tracking, no account — and first-class multi-site management.
OWN Opt-in submission to the Built-with-Selfish directory after your first publish.