As part of my work experimenting with the Bluesky AT Protocol, I developed two AWS-based solutions:
The first project was built in collaboration with a Bluesky community member. The second came as a direct request from another user, who wanted short branded links for Bluesky handles. Together, these systems show how cloud infrastructure can make decentralized identities easier to manage and share.
For AT Protocol verification, each domain needs a _atproto
TXT record that points to the user’s DID.
Manually updating these records can be tedious, so I built a serverless workflow:
bsky.ar
.Using AWS Route 53 for DNS, combined with API Gateway and Lambda, made it possible to handle requests dynamically, while CloudFront ensured fast and reliable content delivery across regions. This approach avoided the need for a dedicated server while still enabling custom routing and integrations.
The system is structured as a serverless AWS stack:
The Lambda function accepts JSON input like:
{
"subdomain": "example",
"did": "did:example:123456789abcdef"
}
and creates the corresponding TXT record _atproto.example.bsky.ar
.
✅ This allows any Bluesky user under the domain to self-service their verification by calling the endpoint.
The second system focused on improving user-facing identity links.
Instead of sharing long Bluesky URLs, I configured a system where any subdomain of bsky.uy
redirects directly to the matching Bluesky profile.
Examples:
adrian.bsky.uy
→ https://bsky.app/profile/adrian.bsky.uysomeone.bsky.uy
→ https://bsky.app/profile/someone.bsky.uyThe stack uses:
Simplified logic:
function handler(event) {
var host = event.request.headers.host.value;
var sub = host.split('.')[0];
if (sub !== 'www') {
return {
statusCode: 302,
headers: {
location: { value: `https://bsky.app/profile/${sub}.bsky.uy` }
}
};
}
return event.request;
}
One limitation is that link previews don’t always carry over when redirects happen. To fix this, I plan to extend the system to dynamically inject Open Graph tags, so each subdomain can display avatars and profile metadata.
Both of these projects highlight the developer-first nature of Bluesky. With just a few AWS primitives, it’s possible to:
By collaborating with Bluesky users and responding to their requests, these experiments aim to make decentralized identity more accessible, flexible, and user-friendly.