Appearance
SOC-0035: Prototype a YikYak Clone as an AT Protocol Service
Project size: 3 months
Estimated difficulty: Hard
Recommended Skills
- Proficiency in TypeScript and Node.js
- Familiarity with the AT Protocol and Bluesky ecosystem
- Experience with distributed systems and real-time messaging
- Knowledge of geospatial indexing and location-based services
- Experience with React (or another modern frontend framework)
Description
Centralized “hyperlocal” networks like YikYak demonstrated the power — and pitfalls — of anonymous, location-based microblogging. This project will build a prototype of a YikYak-style service on top of AT Protocol, leveraging its distributed architecture to create a decentralized local feed. This project will:
- Implement an AT Protocol AppView and Lexicon (e.g., @atproto/server) that supports geotagged posts and local-radius queries.
- Implement privacy-preserving location handling, allowing users to opt in/out of precise geotagging and to specify visibility radii.
- Build a client application (web and mobile-responsive) that lets users post anonymously, browse nearby feeds, upvote/downvote, and flag content.
- Integrate real-time updates via an AT Protocol Relay (
com.atproto.sync) to deliver live local feed changes. - Provide basic moderation tools, such as on-chain content flagging and centralized review workflows via Ozone.
This hybrid approach — combining decentralized protocol work with a user-facing client — will explore the feasibility of ephemeral, location-aware social microblogging on a decentralized network.
Expected Results
- An AT Protocol AppView server with:
- Geotagged post schema and storage
- Local feed query endpoints (e.g. posts within
xkm) - Opt-in privacy toggles for geolocation
- A client demonstrating:
- Anonymous posting and browsing of local content
- Real-time feed updates via push subscriptions
- Upvote/downvote and flagging UI
- Automated tests covering server and client core features
- Deployment scripts and developer documentation