···11# HappyView
2233-HappyView is the best way to build an [AppView](https://atproto.com/guides/glossary#app-view) for the [AT Protocol](https://atproto.com). Upload your [lexicon](reference/glossary.md#atproto-terms) schemas and get a fully functional AppView, complete with [XRPC](reference/glossary.md#atproto-terms) endpoints, OAuth, real-time network sync, and historical [backfill](guides/indexing/backfill.md), without writing a single line of server code.
33+HappyView is the best way to build an AppView for the AT Protocol. Upload your lexicon schemas and get a fully functional AppView, complete with XRPC endpoints, OAuth, real-time network sync, and historical backfill, without writing a single line of server code.
4455Building an AppView from scratch means wiring up real-time event streams, record storage, XRPC routing, OAuth flows, and PDS write proxying before you can even think about your application. HappyView handles all of that. Define your data model with lexicons, add custom logic with Lua scripts when you need it, and ship your app.
6677## Features
8899-- **Schema-driven endpoints:** Upload a [lexicon](guides/indexing/lexicons.md) and HappyView generates XRPC query and procedure routes, storage, and indexing from it — updatable at runtime with no restart.
99+- **Schema-driven endpoints:** Upload a lexicon and HappyView generates XRPC query and procedure routes, storage, and indexing from it — updatable at runtime with no restart.
10101111-- **Network sync built in:** Real-time record streaming via [Jetstream](https://github.com/bluesky-social/jetstream), historical [backfill](guides/indexing/backfill.md) from each user's PDS, and atproto OAuth with DPoP-bound proxy writes back to the PDS.
1111+- **Network sync built in:** Real-time record streaming via Jetstream, historical backfill from each user's PDS, and atproto OAuth with DPoP-bound proxy writes back to the PDS.
12121313-- **Customize with Lua, hooks, and plugins:** [Lua scripts](guides/scripting.md) for query and procedure logic, [index hooks](guides/indexing/index-hooks.md) that fire on every record change, WASM [plugins](guides/features/plugins.md) for external platform integration, and [labeler](guides/features/labelers.md) subscriptions for content moderation.
1313+- **Customize with Lua, hooks, and plugins:** Lua scripts for query and procedure logic, index hooks that fire on every record change, WASM plugins for external platform integration, and labeler subscriptions for content moderation.
14141515-- **Protocol-native:** Works with any PDS, resolves DIDs through the directory, and fetches [network lexicons](guides/indexing/lexicons.md#network-lexicons) via DNS authority resolution.
1515+- **Protocol-native:** Works with any PDS, resolves DIDs through the directory, and fetches network lexicons via DNS authority resolution.
16161717-- **Full admin surface:** Built-in [dashboard](getting-started/dashboard.md) and [admin API](reference/admin/admin-api.md) for managing lexicons, users, API keys, API clients, backfill jobs, and plugins.
1717+- **Full admin surface:** Built-in dashboard and admin API for managing lexicons, users, API keys, API clients, backfill jobs, and plugins.
18181919## Design Principles
2020···26262727- **Protocol-native**: HappyView works with _any_ PDS, resolves DIDs through the directory, and follows atproto conventions. It's a first-class citizen of the network, not a wrapper around it.
28282929-## Next Steps
2929+## Documentation
30303131-- [Quickstart](getting-started/deployment/railway.md): Deploy HappyView on Railway or run it locally
3232-- [Lexicons](guides/indexing/lexicons.md): Upload lexicon schemas and start indexing records
3333-- [Lua Scripting](guides/scripting.md): Write custom query and procedure logic
3434-- [Index Hooks](guides/indexing/index-hooks.md): React to record changes in real time
3535-- [Labelers](guides/features/labelers.md): Subscribe to external labelers and manage content labels
3636-- [Plugins](guides/features/plugins.md): Integrate with external platforms using WASM plugins
3737-- [Event Logs](guides/admin/event-logs.md): Monitor system activity, debug script errors, and audit admin actions
3131+Full documentation is available at [happyview.dev](https://happyview.dev).
+37-1
packages/docs/docs/README.md
···11-../../../README.md11+# HappyView
22+33+HappyView is the best way to build an [AppView](https://atproto.com/guides/glossary#app-view) for the [AT Protocol](https://atproto.com). Upload your [lexicon](reference/glossary.md#atproto-terms) schemas and get a fully functional AppView, complete with [XRPC](reference/glossary.md#atproto-terms) endpoints, OAuth, real-time network sync, and historical [backfill](guides/indexing/backfill.md), without writing a single line of server code.
44+55+Building an AppView from scratch means wiring up real-time event streams, record storage, XRPC routing, OAuth flows, and PDS write proxying before you can even think about your application. HappyView handles all of that. Define your data model with lexicons, add custom logic with Lua scripts when you need it, and ship your app.
66+77+## Features
88+99+- **Schema-driven endpoints:** Upload a [lexicon](guides/indexing/lexicons.md) and HappyView generates XRPC query and procedure routes, storage, and indexing from it — updatable at runtime with no restart.
1010+1111+- **Network sync built in:** Real-time record streaming via [Jetstream](https://github.com/bluesky-social/jetstream), historical [backfill](guides/indexing/backfill.md) from each user's PDS, and atproto OAuth with DPoP-bound proxy writes back to the PDS.
1212+1313+- **Customize with Lua, hooks, and plugins:** [Lua scripts](guides/scripting.md) for query and procedure logic, [index hooks](guides/indexing/index-hooks.md) that fire on every record change, WASM [plugins](guides/features/plugins.md) for external platform integration, and [labeler](guides/features/labelers.md) subscriptions for content moderation.
1414+1515+- **Protocol-native:** Works with any PDS, resolves DIDs through the directory, and fetches [network lexicons](guides/indexing/lexicons.md#network-lexicons) via DNS authority resolution.
1616+1717+- **Full admin surface:** Built-in [dashboard](getting-started/dashboard.md) and [admin API](reference/admin/admin-api.md) for managing lexicons, users, API keys, API clients, backfill jobs, and plugins.
1818+1919+## Design Principles
2020+2121+- **Schema-first**: Your Lexicons are the source of truth. Upload a schema and HappyView derives endpoints, indexing rules, and network sync from it. You describe _what_ your data looks like; HappyView figures out the rest.
2222+2323+- **Zero boilerplate**: HappyView handles AppView infrastructure (Jetstream, backfill, OAuth, PDS proxying) for you. You should be writing application logic from minute one, not plumbing.
2424+2525+- **Runtime-configurable**: Lexicons can be added, updated, and removed without restarting the server. New endpoints and sync rules take effect immediately, so you can iterate on your data model in real time.
2626+2727+- **Protocol-native**: HappyView works with _any_ PDS, resolves DIDs through the directory, and follows atproto conventions. It's a first-class citizen of the network, not a wrapper around it.
2828+2929+## Next Steps
3030+3131+- [Quickstart](getting-started/deployment/railway.md): Deploy HappyView on Railway or run it locally
3232+- [Lexicons](guides/indexing/lexicons.md): Upload lexicon schemas and start indexing records
3333+- [Lua Scripting](guides/scripting.md): Write custom query and procedure logic
3434+- [Index Hooks](guides/indexing/index-hooks.md): React to record changes in real time
3535+- [Labelers](guides/features/labelers.md): Subscribe to external labelers and manage content labels
3636+- [Plugins](guides/features/plugins.md): Integrate with external platforms using WASM plugins
3737+- [Event Logs](guides/admin/event-logs.md): Monitor system activity, debug script errors, and audit admin actions