iex> Blog.Tags.posts(:local-first)
[
%Post{
date: ~D[],
description: "I assumed I built for the desktop because I don't work on a phone. The actual reason is that mobile platforms break the one promise local-first software makes."
},
%Post{
date: ~D[],
description: "Every app I build is missing the same three things. People read that as a roadmap of what I haven't got to yet. It isn't a roadmap. It's the whole design."
},
%Post{
date: ~D[],
description: "Selling a local-first tool nobody has to host is an awkward pitch, so I'm asking people to support the work instead. Notes on positioning, and an empty tip jar."
},
%Post{
date: ~D[],
description: "Every digital to-do app keeps everything, and that permanence is why I never stuck with one. So I built TossDo: write it, do it, toss it. v0.1.0 is out."
},
%Post{
date: ~D[],
description: "Every budgeting app races to auto-import your transactions. Budgeteer, the local-first app I'm building, makes you type each one by hand. Here's why."
}
]
iex> Blog.archive()
iex> Blog.Tags.index()