<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Gifthood Blog</title><description>Notes on giving freely, knowing your neighbors, and building an open network you actually own.</description><link>https://gifthood.org/</link><item><title>The Condition of Giving</title><link>https://gifthood.org/blog/the-condition-of-giving/</link><guid isPermaLink="true">https://gifthood.org/blog/the-condition-of-giving/</guid><description>Why I&apos;m building a gifting community on a network you actually own, and what that has to do with a couch, a geohash, and the open web.</description><pubDate>Sun, 28 Jun 2026 03:08:10 GMT</pubDate><content:encoded>&lt;p&gt;There’s a particular kind of magic in giving something away to a neighbor.&lt;/p&gt;
&lt;p&gt;You drag the old couch to the curb, snap a photo, and post it. An hour later, someone three blocks over is backing a truck into your driveway. You’ve never met. You probably won’t again. But for ten minutes you’re both part of something: a small, unremarkable act of trust between people who happen to live near one another. The couch finds a second life. The landfill stays a little emptier. And the block feels, just slightly, more like a place where people look out for each other.&lt;/p&gt;
&lt;p&gt;I’ve watched this happen on Buy Nothing groups for years, and it never stops being lovely. Whole neighborhoods quietly run on it: the lending of ladders, the passing-on of baby clothes, the tomato seedlings that show up on porches every spring. It’s the oldest economy there is. Give what you can spare, ask for what you need. All of it is running on the newest plumbing.&lt;/p&gt;
&lt;p&gt;But here’s the thing that started to bother me. All of that generosity (your posts, your neighbors, the map of who’s near you and what they have to offer) lives inside someone else’s walls. It lives on Facebook. And the moment you really look at that arrangement, it starts to feel strange. The most neighborly thing happening on the internet is trapped in the least neighborly place on it.&lt;/p&gt;
&lt;p&gt;This is a post about what I’m building instead, and why. It threads three things together: the story of how Gifthood started, the design decisions that shaped it, and the principles underneath. The open web, and the idea that the tools we use to be good to each other should belong to us. I’ll keep the human parts human and signpost the technical parts so you can skim or dig in as you like.&lt;/p&gt;
&lt;h2&gt;The itch&lt;/h2&gt;
&lt;p&gt;I’ve been a software person for twenty-five years. Somewhere in the last few I drifted toward photography (I shoot in Portland), and software became the thing I used to do rather than the thing I did. Gifthood is, in part, me coming back to it. Not for a company. Not for a round of funding. As a gift of service to the place I live.&lt;/p&gt;
&lt;p&gt;The itch that started it was exactly the one above. I love what Buy Nothing groups do. I don’t love where they do it. When your community lives inside a walled garden, a few things are quietly true whether you think about them or not. The platform owns the graph of who knows whom. The platform decides what you see and when, and it has every incentive to keep you scrolling rather than to get you off the couch and over to your neighbor’s. Your posts aren’t really yours. They’re content, feeding a machine that was built to sell your attention. And if the platform changes its mind about your group, or its rules, or its whole business, there’s nothing you can do. You don’t own the room. You’re renting it, and the rent is your data.&lt;/p&gt;
&lt;p&gt;So the question I couldn’t put down was simple: &lt;em&gt;what if that give-and-take lived in a network you actually own?&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;A network you own&lt;/h2&gt;
&lt;p&gt;For a long time that question didn’t have a good answer. “Decentralized” mostly meant “harder to use.” You traded the walled garden for a worse experience and a smaller crowd. Then, this past spring, I spent a Tuesday evening in a room that changed my mind.&lt;/p&gt;
&lt;p&gt;It was the &lt;a href=&quot;https://bsky.app/profile/pdx.atproto.camp&quot;&gt;ATProto PDX&lt;/a&gt; meetup. Thirty-odd people packed into a TV studio in Ladd’s Addition, and it felt like 1993. &lt;a href=&quot;https://timtrautmann.com/blog/the-nerds-are-building-a-new-internet-and-i-could-feel-it-in-the-room/&quot;&gt;I wrote about that night separately&lt;/a&gt;, but the short version is that I walked in curious and walked out sold. Not on the hype, because there wasn’t any. On the work. The apps were real and shipping, and the people building them were taking the work seriously without taking themselves seriously.&lt;/p&gt;
&lt;p&gt;What sold me was the AT Protocol itself. If you’ve heard of &lt;a href=&quot;https://bsky.app/&quot;&gt;Bluesky&lt;/a&gt;, you’ve already seen the open network I mean. The simplest way I know to describe &lt;a href=&quot;https://atproto.com/&quot;&gt;atproto&lt;/a&gt; is this: it’s trying to do for social software what email did for messages. Nobody owns email. Gmail and Outlook are just two apps that agree on the same plumbing, which is why a Gmail user can write to an Outlook user without either of them thinking about it. Atproto wants that same arrangement for your identity, your posts, and your follows. They live in a place you control, and any app built on the protocol can read and write to that place with your permission. Don’t like the app you’re using? Move. Your followers come with you. Your posts come with you. The app loses you. You lose nothing.&lt;/p&gt;
&lt;p&gt;That’s the unlock. It means a gifting community can be a real app (a map, a feed, photos, messages, the whole thing) without the community itself living in any one company’s basement. Your neighbors are your neighbors. Your listings are yours. The app is just the lens that makes them findable. Pull the lens away and your data is still there, still yours, sitting in a repository you control.&lt;/p&gt;
&lt;h2&gt;The name, which I can’t take credit for&lt;/h2&gt;
&lt;p&gt;There’s a story behind the name, and the credit isn’t mine. The project started life as buynothing.community. About a week into building it, my wife pointed out a small problem: “Buy Nothing” is trademarked, so I couldn’t use it. While I was busy panicking, the two of us sat in the living room and brainstormed. Fifteen minutes later, she landed on &lt;em&gt;gifthood&lt;/em&gt;, and it was instantly right.&lt;/p&gt;
&lt;p&gt;It’s a blend of &lt;em&gt;gift&lt;/em&gt; and the old suffix &lt;em&gt;-hood&lt;/em&gt;, the one in &lt;em&gt;neighborhood&lt;/em&gt; and &lt;em&gt;brotherhood&lt;/em&gt; that means a condition or a kinship. Literally, “the condition of giving.” And, by happy accident, “a neighborhood made of gifts.” I’ve been trying to earn that name ever since. She came up with it in a quarter of an hour.&lt;/p&gt;
&lt;h2&gt;What Gifthood actually is&lt;/h2&gt;
&lt;p&gt;Strip away the philosophy, and the app is almost embarrassingly simple, which is the point. It’s a bulletin board for generosity.&lt;/p&gt;
&lt;p&gt;You post one of two things. An &lt;strong&gt;Offer&lt;/strong&gt; is something you’re giving away: a couch, a stack of moving boxes, this year’s surplus seedlings. A &lt;strong&gt;Request&lt;/strong&gt; is something you’re hoping a neighbor might have spare. In the verbs of the app, you &lt;strong&gt;Give&lt;/strong&gt; or you &lt;strong&gt;Ask&lt;/strong&gt;. Your post is discoverable by people nearby. When someone wants what you’re offering, they raise a hand. When someone can help with what you’re asking for, they say so. You sort out the hand-off in a private message, and the thing changes hands. No money. No marketplace. No catch. Just the give-and-take a good neighborhood already runs on, with the awkward parts smoothed over.&lt;/p&gt;
&lt;p&gt;Underneath, the whole application is two record types. I find this genuinely delightful, so forgive me a paragraph of engineering.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;For the builders.&lt;/strong&gt; A Gifthood listing is a &lt;code&gt;community.gifthood.listing&lt;/code&gt; record: an offer or request, with a title, a description, a category, an intent (offer or request), a status (available, pending, or gone), a coarse location, and up to four photos. Raising a hand is a second record type, &lt;code&gt;community.gifthood.interest&lt;/code&gt;, a public “I’d like this” stored in the interested person’s own repository, pointing back at the listing. That’s it. That’s the app. Both record types live in each member’s own repo, not in a Gifthood database. We don’t own the data. We index it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That last line is the whole architecture in four words, and it’s worth slowing down on, because it’s where the principles stop being abstract and start being code.&lt;/p&gt;
&lt;h2&gt;The loop, and the thing it never does&lt;/h2&gt;
&lt;p&gt;Here’s the shape of the system. It’s a loop.&lt;/p&gt;
&lt;p&gt;You compose a listing in the app. The app writes it to &lt;em&gt;your&lt;/em&gt; repository, your data and your account, on the open network. From there it flows out onto the firehose, the public stream of everything happening across atproto. Gifthood runs a small indexer that tails that stream, filters for the records it cares about, and files the metadata into a local index. That index answers the one question that matters: &lt;em&gt;what’s near me right now?&lt;/em&gt; You open the map, the app reads from the index, and there’s your neighbor’s couch.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://pds.timtrautmann.com/xrpc/com.atproto.sync.getBlob?did=did:plc:vdt2kpw2hgyqsmgxzcvutwxy&amp;amp;cid=bafkreidqhjxnoou6j4yzqvqwxhxwz3pc57l2o4kuwdfreqoxuz2nmij27e&quot; alt=&quot;A horizontal data-flow diagram explaining how gifthood handles your data. Data is written left to right through five stages. First, The app, where you compose and read listings. A &amp;quot;write&amp;quot; arrow leads to Your PDS (highlighted in green), holding the records you own and keep. From there, data flows to Jetstream, the public firehose, then to the Indexer, which tails and filters the firehose and is the sole writer, and finally into The index, which stores only coarse geographic metadata. A separate Moderation gate — community rules and Ozone labels — gates the indexer step. A return &amp;quot;read&amp;quot; arrow loops from the index all the way back to the app, representing a query like &amp;quot;what&apos;s near me?&amp;quot; An italic note emphasizes the core idea: if the app vanished tomorrow, every listing still exists, still yours, still on the network.&quot; class=&quot;img-medium&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The detail I want to point at is what the loop &lt;em&gt;never&lt;/em&gt; does. It never takes ownership of your data. The index is a convenience, a fast and searchable cache of things that live, authoritatively, in repositories the members own. If Gifthood vanished tomorrow, every listing would still exist, still yours, still on the network. The app is the most replaceable part of its own architecture. That isn’t an accident or a limitation. It’s the design goal. I wanted to build the kind of thing that, if it earns your trust, has earned it honestly, because it never held your community hostage in the first place.&lt;/p&gt;
&lt;h2&gt;One decision worth sharing&lt;/h2&gt;
&lt;p&gt;Most of the design work on Gifthood was ordinary. One decision was not, and it’s the one I’d most like other builders to steal.&lt;/p&gt;
&lt;p&gt;“Give to your neighbors” is a wonderful idea right up until it becomes “a stranger on the internet knows my exact address.” That’s not a missing feature. It’s a safety problem, and on a network built around openness it’s a sharp one. Remember that records live in members’ own repositories. I can’t reach into your repo and police what you wrote there, which means I can’t enforce location privacy at the moment you post. The usual lever isn’t available.&lt;/p&gt;
&lt;p&gt;The move was to put the privacy boundary somewhere I &lt;em&gt;do&lt;/em&gt; control: the index.&lt;/p&gt;
&lt;p&gt;Gifthood locates listings using a &lt;a href=&quot;https://en.wikipedia.org/wiki/Geohash&quot;&gt;geohash&lt;/a&gt;, a clever little scheme that turns a point on the globe into a short string of characters, where every character you add zooms the box in tighter. One character is most of a hemisphere. Six characters is about a 1.2 kilometer area, your neighborhood give or take. The trick is that nearby places share a prefix, so “what’s near me” becomes “what shares my prefix,” which is exactly the kind of question a simple index answers fast.&lt;/p&gt;
&lt;p&gt;So here’s the rule Gifthood enforces. Every location is truncated to roughly 1.2 kilometers the moment it’s indexed. Store coarse, query coarser. The finest location Gifthood will ever hold about anything is an area big enough to hide a person inside. We never store your address because we never &lt;em&gt;learn&lt;/em&gt; it. The index, the one piece I control, is built to forget the precise location on the way in. Privacy stops being a promise in a settings menu and becomes a property of the system. It’s true whether or not anyone’s watching.&lt;/p&gt;
&lt;p&gt;I think that’s the most honest form privacy can take. Not a toggle you have to trust, but an architecture that couldn’t betray you if it wanted to.&lt;/p&gt;
&lt;h2&gt;What this is really about&lt;/h2&gt;
&lt;p&gt;I’ve been circling the principles this whole time. Let me name them.&lt;/p&gt;
&lt;p&gt;There’s a document I keep coming back to, the &lt;a href=&quot;https://getdweb.net/principles/&quot;&gt;DWeb Principles&lt;/a&gt;, written by the community around the Internet Archive’s decentralized-web work. It’s a short, plain statement of what a more humane internet would actually value, and reading it feels less like a spec than like a description of the neighborhood I’m trying to build software for. A few of its lines map so directly onto Gifthood’s design choices that I’ll just put them side by side.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technology for human agency.&lt;/strong&gt; The principles stand for “the primacy of people as beneficiaries of the technology,” for security, privacy, and self-determination, and against walled gardens. That’s the whole thesis. Your identity is yours, your data lives in your repo, the app is replaceable, and the one thing the system stores about your location is too coarse to hurt you. Agency isn’t a marketing word here. It’s the architecture.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Distributed benefits.&lt;/strong&gt; Decentralized tools, the principles say, are most beneficial “when the rewards and recognition of their success are distributed among those who contributed.” Gifthood has nothing to sell and no attention to harvest. The benefit (a couch rescued, a tool lent, a block that knows itself a little better) flows to the neighborhood that created it. The platform isn’t a toll booth on other people’s generosity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mutual respect and humanity.&lt;/strong&gt; The principles ask for clear codes of conduct and for building “with harm-reduction in mind.” Every member agrees to a short set of community rules at sign-up, and because the records live in members’ own repos, the index is the single place those rules can be enforced. That makes moderation a deliberate, visible part of the system rather than an afterthought. The same coarse-location decision is harm-reduction made structural.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ecological awareness.&lt;/strong&gt; The principles value minimizing waste and extending the life of what we already have. A gifting community is almost embarrassingly on-theme: the entire point is to keep a usable item in use rather than sending it to the landfill and buying a new replacement.&lt;/p&gt;
&lt;p&gt;I don’t want to overstate any of this. Gifthood is one small app by one person, not a movement. But I think the principles are right that “multiple technical means will be more effective than a single technical solution,” and this is mine: a concrete, couch-sized argument that the open web isn’t only for the technically inclined. It can be for the person on your block with too many tomato seedlings.&lt;/p&gt;
&lt;h2&gt;Where it’s at, and the real risk&lt;/h2&gt;
&lt;p&gt;Building in the open means being honest about where things actually stand, so here it is. Gifthood is built and running. The nearby feed, the map, posting an offer or a request with a drag-to-set area, the sign-in on the open network, the indexer, and private in-app messaging: all working. Trust and safety are live too. Moderation runs end-to-end, every member signs the community rules at the door, and the system is ready for a Portland-sized launch.&lt;/p&gt;
&lt;p&gt;The hardest problem was never technical. It’s the cold start. Local gifting only works at neighborhood density, and a map with three listings on it is dead on arrival, no matter how elegant the architecture underneath. You can’t ease into that gently across a whole country. So the bet is to seed one neighborhood hard rather than launch everywhere thin, and the neighborhood is Portland, because it’s mine.&lt;/p&gt;
&lt;p&gt;Today, the org behind Gifthood is run by one person, built as a gift of service. If it grows enough to require sustained support, it may someday become a Public Benefit Corporation. Just enough structure to cover the servers and pay people fairly, with the community’s benefit written into the charter. No paywalls, ever. If that day comes, you’ll read about it here first.&lt;/p&gt;
&lt;p&gt;For now, the invitation is small and literal. There’s a neighborhood out there with a couch to give away, and I’ve built the open, neighborly place to give it.&lt;/p&gt;
&lt;p&gt;Come say hello. And if you’re nearby, come give away a couch.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Gifthood is an open gifting community on the AT Protocol. The app lives at &lt;a href=&quot;https://gifthood.community/&quot;&gt;gifthood.community&lt;/a&gt;; this is the project blog. Testers and financial contributons to keep up the servers are welcome.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>gifthood</category><category>atproto</category><category>decentralized web</category><category>building in public</category><author>Tim Trautmann</author></item></channel></rss>