Skip to content
Where We're At

Codebook

Each row is one response. A cell with several values joins them with a vertical bar (|). An empty cell means the question wasn't answered or wasn't shown.

General

Columns that describe the response itself.

id

Response id

A random id for each row. It isn't linked to any account.

completion

Completion

The share of the questions shown that were answered, as a whole number from 0 to 100.

minutes

Time taken

The time from start to finish, as a range.

Values5 values
ValueMeaning
under_10Under 10 minutes
10_to_2010 to 20 minutes
20_to_4020 to 40 minutes
40_to_9040 to 90 minutes
over_90Over 90 minutes

Identity and hosting

hosting.pds_host

Who hosts your main Atmosphere Account?

One option or entity id. Free text that matched nothing appears as other_managed_host.

Values17 values
ValueMeaning
bsky_socialbsky.social
self_hostedI host it myself
blackskyBlacksky
northskyNorthSky
euroskyEurosky
other_managed_hostAnother managed host
bsky-socialbsky.social
selfhosted-socialselfhosted.social
npmx-socialnpmx.social
margin-cafemargin.cafe
pds-witchcraft-systemspds.witchcraft.systems
tangledTangled
wafrnWafrn
caramelo-social-brcaramelo.social.br
madoka-systemsmadoka.systems
sharkgirl-petsharkgirl.pet
synth-downloadsynth.download

hosting.pds_implementation

Which PDS implementation do you run?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values13 values
ValueMeaning
official_pdsThe official PDS
cocoonCocoon
millipdsmillipds
picopdspicopds
rsky_pdsrsky-pds
cirruscirrus
tranquilTranquil
otherSomething else
official-pdsThe reference PDS
reference-forkedReference PDS fork
atproto-pdsatproto-pds
customcustom
zdszds

hosting.did_method

Which DID method does your account use?

One value id.

Values3 values
ValueMeaning
did_plcdid:plc
did_webdid:web
not_sureNot sure

hosting.custom_handle

Is your handle on a domain you own?

One value id.

Values3 values
ValueMeaning
custom_domainYes, a domain I own
default_handleNo, a handle from my host
bothBoth, on different accounts

hosting.rotation_keys

Who holds the rotation keys for your DID?

One value id.

Values4 values
ValueMeaning
hold_own_keysI hold at least one
pds_holds_themMy host holds them
did_not_knowI did not know I could
unknown_conceptI don't know what a rotation key is

hosting.migration

Have you migrated an account between Atmosphere Account providers (PDSes)?

One value id.

Values4 values
ValueMeaning
neverNever
onceOnce
more_than_onceMore than once
tried_and_failedTried and gave up

SDKs and languages

sdks.languages

Which languages have you used with ATproto?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values31 values
ValueMeaning
typescriptTypeScript
javascriptJavaScript
pythonPython
goGo
rustRust
swiftSwift
kotlinKotlin
dartDart
elixirElixir
rubyRuby
phpPHP
csharpC#
zigZig
gleamGleam
otherSomething else
c-cC/C++
clojureClojure
bashbash
cC
common-lispCommon Lisp
elmElm
gdscriptGDScript
haskellHaskell
javaJava
mercuryMercury
objective-cObjective C
observable-javascriptObservable JavaScript
perlPerl
powershellPowershell
scalaScala
zshzsh

sdks.sdk_usage

How do you feel about these libraries?

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values23 values
Rated items
ValueMeaning
atproto-api@atproto/api
atproto-lex@atproto/lex
atcuteatcute
airspaceAirspace
python-atprotoatproto
indigoindigo
atriumATrium
jacquardjacquard
atproto-cratesatproto-crates
atprotokitATProtoKit
swift-atprotoswift-atproto
atproto-dartatproto.dart
atexatex
ruby-sdkruby.sdk.blue
libphpskylibphpsky
idunno-blueskyidunno.Bluesky
carpanetCarpaNet
zatzat
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

sdks.sdk_pain_points

What is most frustrating about the SDK/language you use most?

Matched entity ids joined by |.

Values60 values
ValueMeaning
oauthOAuth
sdk-outdated-docsOutdated SDK documentation
codegen-issuesLexicon codegen issues
ai-useAI use within library
attachment-to-blueskyAttachment to Bluesky
lack-of-librariesLack of libraries
library-designLibrary Design
rustRust
atproto-lex@atproto/lex
debuggingDebugging
documentation-styleDocumentation style
download-sizeDownload size
lifetimesLifetimes
missing-context-for-aiMissing context for AI
slow-startup-timesSlow startup times
typesTypes
abstractionsAbstractions
adoptionAdoption
ai-use-official-sdkAI use (official SDK)
atmosphere-account-requirementAtmosphere account requirement
atproto-cratesatproto-crates
authenticationAuthentication
cachingCaching
cbor-supportCBOR support
complexityComplexity
custom-lexiconsCustom lexicons
dependenciesDependencies
dependency-bloatDependency bloat
discussing-lexiconsDiscussing lexicons
dpopDPoP
edge-casesEdge cases
elixirElixir
errorsErrors
flutterFlutter
gleamGleam
goGo
handle-resolutionHandle resolution
hydrationHydration
indigoindigo
interop-between-js-frontend-and-rust-backendInterop between JS frontend and Rust backend
jacquardjacquard
javaJava
jetstream-compressionJetstream compression
lack-of-tutorialsLack of tutorials
listening-for-service-eventsListening for service events
mental-model-mismatchMental model mismatch
missing-parity-with-blueskyMissing parity with Bluesky
missing-plain-js-sdkMissing plain JS SDK
missing-releasesMissing releases
missing-sdk-featuresMissing SDK features
missing-websocket-plumbingMissing websocket plumbing
multiple-clients-per-domainMultiple clients per domain
perlPerl
poor-error-messagesPoor error messages
rate-limitsRate limits
request-handlingRequest handling
spec-complianceSpec compliance
standard-site-integrationstandard.site integration
testingTesting
url-segmentationURL segmentation

Infrastructure and tooling

infrastructure.data_sources

How do you read data from the network?

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values14 values
Rated items
ValueMeaning
jetstream-v1Jetstream v1
jetstream-v2Jetstream v2
firehoseThe firehose
constellationConstellation
slingshotSlingshot
ufosUFOs
spacedustSpacedust
plc-directoryPLC directory
bsky-appviewThe Bluesky AppView
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

infrastructure.services_operated

Which of these do you operate yourself?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values31 values
ValueMeaning
pdsA PDS
relayA relay
appviewAn AppView
labelerA labeler
feed_generatorA feed generator
jetstream_instanceA Jetstream instance
noneNone of these
otherOther
service-pdsA PDS
service-appviewAn AppView
service-labelerA labeler
service-feed-generatorA feed generator
service-relayA relay
an-appAn App
bot-sBot(s)
constellationConstellation
a-plcA PLC
actor-indexActor Index
blob-proxyBlob Proxy
hubbleHubble
lightrailLightrail
malldaoMalldao
moderation-listModeration List
plc-mirrorPLC Mirror
porxiePorxie
relay-evalrelay-eval
slingshotSlingshot
tangled-knotTangled Knot
tangled-spindleTangled Spindle
tapTap
webpageWebpage

infrastructure.app_hosting

Where do you deploy your ATproto apps?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values36 values
ValueMeaning
own_serverMy own server
cloudflareCloudflare
fly_ioFly.io
vercelVercel
netlifyNetlify
railwayRailway
hetznerHetzner
awsAWS
gcpGoogle Cloud
otherSomewhere else
own-serverOwn hardware
fly-ioFly.io
ovhOVH
digital-oceanDigital Ocean
netcupNetcup
wisp-placewisp.place
linodeLinode
renderRender
upcloudUpcloud
azureAzure
community-infrastructureCommunity Infrastructure
dataforestDataforest
exe-devexe.dev
fyrastackFyrastack
github-pagesGitHub Pages
ionosIonos
koyebKoyeb
nobull-networksNobull Networks
oracle-cloudOracle Cloud
protobaseProtobase
pupcloudPupcloud
pyroPyro
pythonanywherePythonAnywhere
servaricaServarica
statichostStaticHost
uberspaceUberspace

infrastructure.moderation_tooling

How familiar are you with these moderation tools?

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
ozoneOzone
ospreyOsprey
acornAcorn
coopCoop
labelersThird-party labelers
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

Building on the protocol

building.authored_lexicon

Have you designed your own lexicon?

One value id.

Values4 values
ValueMeaning
yes_in_productionYes, and it is in production
yes_experimentalYes, experimental so far
planning_toNot yet, but I plan to
noNo

building.lexicon_publishing

How do you publish your lexicon schemas?

Value ids joined by |.

Values4 values
ValueMeaning
schema_recordAs a com.atproto.lexicon.schema record
lexicon_txt_recordWith a _lexicon DNS TXT record
github_onlyIn a repository
not_publishedThey are not published

building.oauth_status

Have you implemented ATproto OAuth?

One value id.

Values4 values
ValueMeaning
shippedYes, shipped
in_progressIn progress
app_passwords_insteadNo, I use app passwords
not_neededMy project does not need it

building.oauth_scopes

Which scopes does your app request?

One value id.

Values4 values
ValueMeaning
granularGranular permissions
transition_generictransition:generic
bothBoth, depending on the PDS
not_sureNot sure

building.oauth_pain_points

What made implementing OAuth harder than it needed to be?

Matched entity ids joined by |.

Values41 values
ValueMeaning
oauth-complexityOAuth complexity
oauth-docs-gapSparse OAuth documentation
dpop-complexityDPoP complexity
local-dev-oauth-frictionLocal development friction
session-persistence-issuesSession persistence issues
lack-of-librariesLack of libraries
differences-between-frontend-and-backend-oauthDifferences between frontend and backend oauth
lack-of-tutorialsLack of tutorials
missing-context-for-aiMissing context for AI
blueskyBluesky
hostingHosting
library-designLibrary Design
missing-packagesMissing packages
permission-setsPermission Sets
redirectsRedirects
testingTesting
ai-useAI use (negative sentiment)
boiler-plate-codeBoiler Plate Code
bot-detection-issuesBot detection issues
cimdCIMD
cryptographyCryptography
csharpC#
flutterFlutter
implementation-is-time-consumingImplementation is time-consuming
inconsistent-behavior-across-appsInconsistent behavior across apps
jacquardjacquard
lack-of-reference-dataLack of reference data
lifetimesLifetimes
missing-understanding-from-usersMissing understanding from users
missing-verification-toolingMissing verification tooling
not-serverless-friendlyNot serverless friendly
oauth-metadata-cacheOAuth metadata cache
parPaR
passkeysPasskeys
pds-inconsistency-oauthInconsistent behavior across PDS hosts
permission-set-displayPermission Set Display
rustRust
scopesScopes
setupSetup
spec-complianceSpec compliance
step-up-authStep up auth

building.spaces_plans

Will you build on ATproto spaces?

One value id.

Values5 values
ValueMeaning
experimentingI'm already experimenting with them
planning_toI plan to once they ship
maybeMaybe, depending on the final design
not_neededNo, my project doesn't need them
unfamiliarI don't know enough about them yet

building.app_revenue

Does your app in the Atmosphere bring in money?

One value id.

Values4 values
ValueMeaning
earningYes, it earns something
not_yetNot yet, but I plan for it to
staying_freeNo, and it is meant to stay free
no_projectI do not have a project of my own

building.app_revenue_band

In a typical month, how much does it bring in?

One value id.

Values5 values
ValueMeaning
under_100Under $100
100_to_1k$100 to $1,000
1k_to_5k$1,000 to $5,000
5k_to_20k$5,000 to $20,000
over_20kMore than $20,000

building.funding_sources

What pays for the work?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values11 values
ValueMeaning
self_fundedMy own money
product_revenueRevenue from the thing itself
clientsMy clients or customers
grantsA grant
donationsDonations or sponsorships
employerMy employer
venture_capitalVenture capital
otherSomething else
nothingNothing
no-costNo cost
scholarshipScholarship

Apps you use

The results pages leave this section out, but the dataset keeps it.

apps.publishing

Writing and publishing

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
whitewindWhiteWind
leafletLeaflet
offprintOffprint
linkatLinkat
pcktpckt
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.media

Photos, video and music

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values12 values
Rated items
ValueMeaning
grainGrain
flashesFlashes
pinkseaPinkSea
streamplaceStream.place
skylightSkylight
teal-fmteal.fm
rockskyRocksky
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.social

Community, events and tracking

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
smoke-signalSmoke Signal
atmo-rsvpatmo.rsvp
bookhiveBookHive
popskyPopfeed
kipclipkipclip
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.chat

Chat and messaging

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
roomyRoomy
colibriColibri
germ-networkGerm Network
squawkSquawk
freeqfreeq
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.feeds

Custom feeds

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
grazeGraze
attieAttie
surfSurf
custom-feed-generatorA feed generator I built myself
other-feed-toolSomething else
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.devtools

Developer-facing apps

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values10 values
Rated items
ValueMeaning
tangledTangled
pdslsPDSls
atp-toolsatp.tools
taprootTaproot
clearskyClearSky
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.clients

Alternative Bluesky clients

One option:experience or option:experience:sentiment entry per rated item, joined by |.

Values12 values
Rated items
ValueMeaning
witchskyWitchsky
mumu
blacksky-communityBlacksky
grayskyGraysky
skeetsSkeets
tokimekiTOKIMEKI
klearskyKlearsky
Experience
ValueMeaning
never_heardNever heard of it
heardHeard of it
usedUsed it
Sentiment
ValueMeaning
positiveInterested (never_heard, heard), Positive experience (used)
negativeNot interested (never_heard, heard), Negative experience (used)

apps.shout_out

Any app you want to shout out?

Matched entity ids joined by |.

Values93 values
ValueMeaning
sembleSemble
rpg-actorrpg.actor
sifa-idsifa.id
wisp-placewisp.place
anisotaAnisota
marginMargin
currents-iscurrents.is
marque-atmarque.at
plyr-fmPlyr.fm
skyfeedSkyFeed
skytrace-aly-townskytrace.aly.town
standard-readerStandard Reader
userinput-appuserinput.app
blentoBlento
red-dwarfRed Dwarf
sill-socialsill.social
skyreaderSkyReader
sparkSpark
atcr-ioatcr.io
aturi-toaturi.to
beaconbitsbeaconbits
comailcomail
heronHeron
lexidrawLexidraw
pdslsPDSls
postgamepostgame
radio-wisp-placeradio.wisp.place
recipe-exchangerecipe.exchange
tangledTangled
teal-fmteal.fm
twinkl-socialTwinkl.social
wafrnWafrn
aeronautAeronaut
aether-osAether OS
airglowAirglow
arabicaArabica
atmosynthAtmosynth
atpkgs-easrng-netatpkgs.easrng.net
atradio-fmatradio.fm
babeskyBabesky
bluecastBluecast
bluesky-trackerBluesky Tracker
bookhiveBookHive
byline-pubByline.pub
cartridgeCartridge
catbirdCatbird
cometComet
coves-socialcoves.social
croft-linkcroft.link
dailygame-spacedailygame.space
dropb-atdropb.at
flareFlare
for-you-feedFor You Feed
frontpageFrontpage
gamesgamesgamesgames-gamesgamesgamesgamesgames.games
gifdex-netgifdex.net
goals-gardengoals.garden
https-impro-socialhttps://impro.social/
keytrace-devkeytrace.dev
kimbia-appkimbia.app
kodamachi-appkodamachi.app
leadsheet-fmleadsheet.fm
leafletLeaflet
lichen-wikilichen.wiki
lopecode-comlopecode.com
mochottMochott
mysky-socialmysky.social
opendeck-spaceopendeck.space
opentroughOpentrough
passport@passport
pds-mooverPDS Moover
pinkleapPinkleap
presentlyPresently
pronouns-bluePronouns
puzzmoPuzzmo
seamark-devseamark.dev
shelf-cafeshelf.cafe
skeetdeckSkeetdeck
skyboard-devskyboard.dev
skyrdleSkyrdle
skyscraperSkyscraper
skywalkerSkywalker
skywellSkywell
stargraphStargraph
streamplaceStream.place
tenna-partytenna.party
the-social-wireThe Social Wire
trezy-s-petsTrezy's Pets
v-it-orgv-it.org
witchskyWitchsky
woosh-linkwoosh.link
yoten-appyoten.app
you-and-meYou and me

apps.missing_apps

What do you wish someone would build on ATproto?

Matched entity ids joined by |.

Values77 values
ValueMeaning
redditReddit
marketplace-app-ideaA marketplace
b2b-apps-suiteB2B apps suite
google-docs-alternativeGoogle Docs alternative
google-drive-alternativeGoogle Drive alternative
google-sheets-alternativeGoogle Sheets alternative
image-hostingImage hosting
notion-alternativeNotion alternative
website-builderWebsite builder
achievements-systemAchievements system
alltrails-alternativeAllTrails alternative
an-experimental-chat-appAn experimental chat app
an-rfd-platformAn RfD platform
analytics-dashboard-ideaAn analytics dashboard
apps-with-private-dataApps with private data
appview-hostingAppView Hosting
bot-traffic-signaturesBot traffic signatures
collaborative-editingCollaborative editing
discord-alternativeDiscord alternative
email-alias-providerEmail alias provider
existing-apps-with-atproto-storageExisting apps with atproto storage
facebook-alternativeFacebook alternative
facebook-groups-alternativeFacebook Groups alternative
fedcmFedCM
feed-generatorFeed Generator
flickr-alternativeFlickr alternative
forumForum
game-progressGame Progress
generic-reviewsGeneric reviews
goodreads-alternativeGoodreads alternative
google-forms-alternativeGoogle Forms alternative
grain-instagram-bridgeGrain / Instagram bridge
illustrator-alternativeIllustrator alternative
indie-web-centric-appsIndie-web centric apps
instagram-alternativeInstagram alternative
keycloak-alternativeKeycloak alternative
learning-appLearning app
letterboxd-alternativeLetterboxd alternative
local-task-exchange-appLocal task exchange app
manabox-alternativeManabox alternative
management-toolsManagement tools
maps-alternativeMaps alternative
media-focused-feed-appMedia-focused feed app
monetized-productsMonetized products
multimedia-feedsMultimedia feeds
multiplayer-gamesMultiplayer Games
music-playlist-sharingMusic playlist sharing
music-streamingMusic streaming
myanimelist-alternativeMyAnimeList alternative
native-ipad-clientNative iPad client
openfeint-alternativeOpenFeint alternative
pcpartpicker-alternativePcPartPicker alternative
pds-host-directoryPDS Host directory
pds-hostingPDS Hosting
pds-on-iosPDS on iOS
pds-on-ipadosPDS on iPadOS
physical-equipment-exchange-appPhysical equipment exchange app
plurk-alternativePlurk alternative
plus-alternativePlus+ alternative
pollsPolls
roulette-wheel-appRoulette wheel app
scoreloop-alternativeScoreloop alternative
service-locatorService locator
shared-computeShared compute
sports-discussion-appSports discussion app
standard-site-readerstandard.site reader
stickers-and-emojiStickers and Emoji
strava-alternativeStrava alternative
tipping-monetization-appTipping or monetization app
trello-alternativeTrello alternative
ttrpg-campaign-sharingTTRPG campaign sharing
unique-atproto-appsUnique ATproto apps
wakatime-alternativeWakatime alternative
web-bookmarks-appWeb Bookmarks app
work-appWork app
yelp-alternativeYelp alternative
youtube-alternativeYouTube alternative

Open questions

opinions.plc_centralization

The PLC directory being one service is a serious problem.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.plc_transfer_confidence

Moving the PLC directory to an independent organization will meaningfully reduce that risk.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.survives_without_bluesky_pbc

The network would survive if Bluesky PBC shut down tomorrow.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.pbc_should_ensure_survival

Bluesky PBC should do more to ensure the network will survive without them.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.decentralized_enough

ATproto is decentralized enough today.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.infra_affordable

Running core ATproto infrastructure is affordable for an individual.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.funding_sustainable

I can keep doing my ATproto work at the level of funding I have now.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.money_burnout

Money pressure has made me consider stopping my ATproto work.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.infra_funding

Who should pay for core ATproto infrastructure?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Values16 values
ValueMeaning
bluesky_pbcBluesky PBC
nonprofit_foundationAn independent nonprofit
user_subscriptionsThe people using it
grantsGrants and public funding
operator_cooperativeA cooperative of operators
otherOther
bluesky-pbcBluesky PBC
anyoneAnyone
protocol-transaction-feeA small protocol-level fee
advertising-fundingAdvertising
corporationsCorporations
donations-open-collectiveDonations or open collective
freemium-tiersFreemium or paid tiers
other-big-appsOther big apps
self-funded-operatorsOperators funding themselves
taxesTaxes

opinions.pbc_should_teach_network

Bluesky PBC should do more to actively teach people about the network.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.lexicon_governance_needed

The ecosystem needs a process for resolving lexicon naming conflicts.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.protocol_stable_enough

The protocol is stable enough to build a business on.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.spaces_needed

ATproto needs permissioned data before it can support most of the apps people want to build.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.spam_under_control

Spam and abuse on the network are under control.

A whole number from 1 to 5: 1 is Strongly disagree, 2 is Disagree, 3 is Neither, 4 is Agree, 5 is Strongly agree.

Values5 values
ValueMeaning
1Strongly disagree
2Disagree
3Neither
4Agree
5Strongly agree

opinions.biggest_pain_points

What is hardest about building on ATproto right now?

Matched entity ids joined by |.

Values46 values
ValueMeaning
user-aquisitionUser aquisition
fundingFunding
user-educationUser education
private-dataPrivate data
bluesky-pbc-dependencyToo dependent on Bluesky PBC
documentation-gapsDocumentation gaps
marketingMarketing
spam-moderation-burdenSpam and moderation burden
oauth-complexity-painOAuth is too complex
ai-useAI use
bluesky-staff-behaviorBluesky Staff Behavior
developing-shared-lexiconsDeveloping shared lexicons
non-atmosphere-user-flowNon-atmosphere user flow
timeTime
ai-hateAI hate
consistent-sign-in-experienceConsistent sign-in experience
focus-of-app-buildersFocus of app builders
legal-questionsLegal questions
protocol-instabilityProtocol instability
anti-patterns-used-by-blueskyAnti-Patterns used by Bluesky
app-interleaving-patternsapp interleaving patterns
appview-specific-dataAppView-specific data
atproto-being-associated-with-social-media-onlyATproto being associated with social media only
branding-being-based-on-hosting-a-pdsBranding being based on hosting a PDS
bus-factor-for-ossBus factor for OSS
developer-experienceDeveloper experience
differences-between-frontend-and-backend-oauthDifferences between frontend and backend oauth
distributionDistribution
extending-lexiconsExtending lexicons
figuring-out-the-correct-architectureFiguring out the correct architecture
finding-apps-that-need-to-be-builtFinding apps that need to be built
granular-permissionsFine-grained OAuth permissions
group-primitivesGroup primitives
hostingHosting
interop-with-other-appsInterop with other apps
lack-of-librariesLack of libraries
lexicon-migrationLexicon migration
missing-lexiconsMissing lexicons
motivationMotivation
no-atmospheric-profilesNo atmospheric profiles
no-backlink-notifications-from-pdssNo backlink notifications from PDSs
no-cross-atmosphere-followsNo cross-atmosphere follows
overall-complexityOverall complexity
promotion-of-copied-appsPromotion of copied apps
records-acting-as-backupRecords acting as backup
signature-verificationSignature verification

You

you.experience

How long have you been building on the AT Protocol?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values6 values
ValueMeaning
under_6_monthsLess than six months
6_months_to_1_yearSix months to a year
1_to_2_yearsOne to two years
2_to_3_yearsTwo to three years
over_3_yearsMore than three years
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.programming_experience

How much programming experience do you have?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values6 values
ValueMeaning
noneNone
a_littleA little, I can read and tweak code
someSome, I build small projects
a_lotA lot, I build larger systems
professionalProfessional, it's my job
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.llm_usage

How much of your code do you write with LLMs?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values6 values
ValueMeaning
noneNone, I don't use them
a_littleA little, for lookups and snippets
about_halfAbout half
mostMost of it
allAll of it, I direct and review
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.roles

Which of these describe what you do on ATproto?

Option or entity ids joined by |. Free text that matched nothing appears as other.

Where the full combination of roles would identify someone, the cell holds a single primary role written as primary:<role id>.

The value rare replaces any answer that would describe fewer than 5 people.

Values26 values
ValueMeaning
app_developerBuild apps or clients
sdk_maintainerMaintain an SDK or library
lexicon_authorDesign lexicons
infra_operatorRun infrastructure
protocol_contributorContribute to the protocol itself
moderation_toolingWork on moderation or labeling
designerDesign
researcherResearcher
community_organizerOrganize the community
freelancerFreelance or contract on ATproto work
hobbyistTinker for fun
otherOther
bug-reporterBug reporter
localizerTranslator or localizer
primary:app_developerPrimary role: Build apps or clients
primary:sdk_maintainerPrimary role: Maintain an SDK or library
primary:lexicon_authorPrimary role: Design lexicons
primary:infra_operatorPrimary role: Run infrastructure
primary:protocol_contributorPrimary role: Contribute to the protocol itself
primary:moderation_toolingPrimary role: Work on moderation or labeling
primary:designerPrimary role: Design
primary:researcherPrimary role: Researcher
primary:community_organizerPrimary role: Organize the community
primary:freelancerPrimary role: Freelance or contract on ATproto work
primary:hobbyistPrimary role: Tinker for fun
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.paid_work

Does your ATproto work pay?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values5 values
ValueMeaning
unpaidNo, it is unpaid
occasional_incomeOccasional income from it
part_of_day_jobPart of my day job
full_timeIt is my full-time job
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.income

In a typical month, how much do you make from ATproto work?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values6 values
ValueMeaning
under_100Under $100
100_to_1k$100 to $1,000
1k_to_5k$1,000 to $5,000
5k_to_20k$5,000 to $20,000
over_20kMore than $20,000
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.grant_funding

Has your ATproto work been funded by a grant?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values3 values
ValueMeaning
yesYes
noNo
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.grant_funders

Who funded it?

Option or entity ids joined by |. Free text that matched nothing appears as other.

The value rare replaces any answer that would describe fewer than 5 people.

Values15 values
ValueMeaning
bluesky_pbcBluesky PBC
nlnetNLnet
sovereign_tech_agencySovereign Tech Agency
skyseedSkyseed
free_our_feedsFree Our Feeds
atproto_community_fundThe ATProto Community Fund
private_funderA private funder
otherSomeone else
bluesky-pbcBluesky PBC
atproto-community-fundThe ATProto Community Fund
free-our-feedsFree Our Feeds
graze-socialgraze.social
modal-foundationModal Foundation
private-funderA private funder
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.freelance_income

Do you make money freelancing on ATproto work?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values5 values
ValueMeaning
yes_regularlyYes, regularly
yes_now_and_thenYes, now and then
lookingNot yet, but I am looking
unpaidNo, I do this work unpaid
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.freelance_pipeline

How is ATproto freelance work flowing right now?

One value id.

The value rare replaces any answer that would describe fewer than 5 people.

Values6 values
ValueMeaning
more_than_i_can_takeMore than I can take on
steadySteady enough to plan around
patchyPatchy, one job at a time
dried_upIt has dried up
still_lookingStill looking for my first job
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.company_size

How many people work where you work?

One value id.

One of the original ids, or a coarser bucket written as size:<bucket>.

The value rare replaces any answer that would describe fewer than 5 people.

Values10 values
ValueMeaning
just_meJust me
2_to_52 to 5
6_to_206 to 20
21_to_10021 to 100
101_to_1000101 to 1,000
over_1000More than 1,000
size:soloJust me (bucket)
size:2_to_1002 to 100 people (bucket)
size:over_100More than 100 people (bucket)
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

you.country

Where are you based?

An ISO 3166 alpha-2 country code, or a region written as region:<slug>.

The value rare replaces any answer that would describe fewer than 5 people.

Values257 values
ValueMeaning
AFAfghanistan
AXÅland Islands
ALAlbania
DZAlgeria
ASAmerican Samoa
ADAndorra
AOAngola
AIAnguilla
AQAntarctica
AGAntigua & Barbuda
ARArgentina
AMArmenia
AWAruba
AUAustralia
ATAustria
AZAzerbaijan
BSBahamas
BHBahrain
BDBangladesh
BBBarbados
BYBelarus
BEBelgium
BZBelize
BJBenin
BMBermuda
BTBhutan
BOBolivia
BABosnia & Herzegovina
BWBotswana
BVBouvet Island
BRBrazil
IOBritish Indian Ocean Territory
VGBritish Virgin Islands
BNBrunei
BGBulgaria
BFBurkina Faso
BIBurundi
KHCambodia
CMCameroon
CACanada
CVCape Verde
BQCaribbean Netherlands
KYCayman Islands
CFCentral African Republic
TDChad
CLChile
CNChina
CXChristmas Island
CCCocos (Keeling) Islands
COColombia
KMComoros
CGCongo - Brazzaville
CDCongo - Kinshasa
CKCook Islands
CRCosta Rica
CICôte d’Ivoire
HRCroatia
CUCuba
CWCuraçao
CYCyprus
CZCzechia
DKDenmark
DJDjibouti
DMDominica
DODominican Republic
ECEcuador
EGEgypt
SVEl Salvador
GQEquatorial Guinea
EREritrea
EEEstonia
SZEswatini
ETEthiopia
FKFalkland Islands
FOFaroe Islands
FJFiji
FIFinland
FRFrance
GFFrench Guiana
PFFrench Polynesia
TFFrench Southern Territories
GAGabon
GMGambia
GEGeorgia
DEGermany
GHGhana
GIGibraltar
GRGreece
GLGreenland
GDGrenada
GPGuadeloupe
GUGuam
GTGuatemala
GGGuernsey
GNGuinea
GWGuinea-Bissau
GYGuyana
HTHaiti
HMHeard & McDonald Islands
HNHonduras
HKHong Kong SAR China
HUHungary
ISIceland
INIndia
IDIndonesia
IRIran
IQIraq
IEIreland
IMIsle of Man
ILIsrael
ITItaly
JMJamaica
JPJapan
JEJersey
JOJordan
KZKazakhstan
KEKenya
KIKiribati
KWKuwait
KGKyrgyzstan
LALaos
LVLatvia
LBLebanon
LSLesotho
LRLiberia
LYLibya
LILiechtenstein
LTLithuania
LULuxembourg
MOMacao SAR China
MGMadagascar
MWMalawi
MYMalaysia
MVMaldives
MLMali
MTMalta
MHMarshall Islands
MQMartinique
MRMauritania
MUMauritius
YTMayotte
MXMexico
FMMicronesia
MDMoldova
MCMonaco
MNMongolia
MEMontenegro
MSMontserrat
MAMorocco
MZMozambique
MMMyanmar (Burma)
NANamibia
NRNauru
NPNepal
NLNetherlands
NCNew Caledonia
NZNew Zealand
NINicaragua
NENiger
NGNigeria
NUNiue
NFNorfolk Island
KPNorth Korea
MKNorth Macedonia
MPNorthern Mariana Islands
NONorway
OMOman
PKPakistan
PWPalau
PSPalestinian Territories
PAPanama
PGPapua New Guinea
PYParaguay
PEPeru
PHPhilippines
PNPitcairn Islands
PLPoland
PTPortugal
PRPuerto Rico
QAQatar
RERéunion
RORomania
RURussia
RWRwanda
WSSamoa
SMSan Marino
STSão Tomé & Príncipe
SASaudi Arabia
SNSenegal
RSSerbia
SCSeychelles
SLSierra Leone
SGSingapore
SXSint Maarten
SKSlovakia
SISlovenia
SBSolomon Islands
SOSomalia
ZASouth Africa
GSSouth Georgia & South Sandwich Islands
KRSouth Korea
SSSouth Sudan
ESSpain
LKSri Lanka
BLSt. Barthélemy
SHSt. Helena
KNSt. Kitts & Nevis
LCSt. Lucia
MFSt. Martin
PMSt. Pierre & Miquelon
VCSt. Vincent & Grenadines
SDSudan
SRSuriname
SJSvalbard & Jan Mayen
SESweden
CHSwitzerland
SYSyria
TWTaiwan
TJTajikistan
TZTanzania
THThailand
TLTimor-Leste
TGTogo
TKTokelau
TOTonga
TTTrinidad & Tobago
TNTunisia
TRTürkiye
TMTurkmenistan
TCTurks & Caicos Islands
TVTuvalu
UMU.S. Outlying Islands
VIU.S. Virgin Islands
UGUganda
UAUkraine
AEUnited Arab Emirates
GBUnited Kingdom
USUnited States
UYUruguay
UZUzbekistan
VUVanuatu
VAVatican City
VEVenezuela
VNVietnam
WFWallis & Futuna
EHWestern Sahara
YEYemen
ZMZambia
ZWZimbabwe
region:africaRegion: Africa
region:asiaRegion: Asia
region:europeRegion: Europe
region:latin-americaRegion: Latin America
region:middle-eastRegion: Middle East
region:north-americaRegion: North America
region:oceaniaRegion: Oceania
rareSuppressed. In country, company size and roles, no combination of the three describes fewer than 5 people. In the other columns, fewer than 5 people gave that answer.

Last thing

outro.sentiment

How do you feel about the AT Protocol overall?

A whole number from 0 (Ready to give up) to 10 (Best thing on the internet).

outro.heard_about_survey

How did you hear about this survey?

One option or entity id. Free text that matched nothing appears as other.

Values12 values
ValueMeaning
bluesky_postA post on Bluesky
atproto_discordThe ATproto Discord
atmosphere_communityatmosphere.community
atmosphere_reportThe Atmosphere Report
githubGitHub
word_of_mouthSomeone told me
otherSomewhere else
louLou
colibriColibri
matrixMatrix
off-protocolOff protocol
streamplaceStream.place