Skip to content

Commit 32d8bc7

Browse files
idalithbbenface
andauthored
Hypergraph (#1022)
* adding hypergraph * Add Hypergraph logo to sidebar * fixing names * Update website/src/pages/en/hypergraph/_meta.js Co-authored-by: Benoît Rouleau <[email protected]> * Update website/src/pages/en/hypergraph/overview.mdx Co-authored-by: Benoît Rouleau <[email protected]> * Delete website/src/pages/en/hypergraph/_meta-titles.json * Update website/src/pages/en/hypergraph/faq.mdx --------- Co-authored-by: benface <[email protected]>
1 parent 7249ba7 commit 32d8bc7

File tree

6 files changed

+194
-2
lines changed

6 files changed

+194
-2
lines changed

website/next.config.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,25 @@ const withNextra = nextra({
7373
'---4': {
7474
type: 'separator',
7575
},
76+
hypergraph: {
77+
type: 'children',
78+
title: t('global.navigation.hypergraph'),
79+
},
80+
'---5': {
81+
type: 'separator',
82+
},
7683
'ai-suite': {
7784
type: 'children',
7885
title: t('global.navigation.ai-suite'),
7986
},
80-
'---5': {
87+
'---6': {
8188
type: 'separator',
8289
},
8390
indexing: {
8491
type: 'children',
8592
title: t('global.navigation.indexing'),
8693
},
87-
'---6': {
94+
'---7': {
8895
type: 'separator',
8996
},
9097
resources: {

website/src/layout/Layout.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import {
3636
BookOpenText,
3737
Files,
3838
House,
39+
Hypergraph,
3940
MagnifyingGlass,
4041
RoleIndexer,
4142
SidebarSimple,
@@ -199,6 +200,9 @@ export default function Layout({ pageOpts, children }: NextraThemeLayoutProps<Fr
199200
if (routeWithoutLocale === '/token-api' || routeWithoutLocale.startsWith('/token-api/')) {
200201
return <APIToken alt="" />
201202
}
203+
if (routeWithoutLocale === '/hypergraph' || routeWithoutLocale.startsWith('/hypergraph/')) {
204+
return <Hypergraph alt="" />
205+
}
202206
if (routeWithoutLocale === '/ai-suite' || routeWithoutLocale.startsWith('/ai-suite/')) {
203207
return <Sparkle alt="" variant={selected ? 'fill' : 'regular'} />
204208
}

website/src/pages/en/global.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"subgraphs": "Subgraphs",
77
"substreams": "Substreams",
88
"sps": "Substreams-Powered Subgraphs",
9+
"hypergraph": "Hypergraph",
910
"ai-suite": "AI Suite",
1011
"tokenApi": "Token API",
1112
"indexing": "Indexing",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default {
2+
overview: '',
3+
faq: '',
4+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: Hypergraph FAQ
3+
sidebarTitle: FAQ
4+
---
5+
6+
## General Questions
7+
8+
### What is Hypergraph?
9+
10+
Hypergraph is a TypeScript-first framework for building local-first apps that syncs encrypted data to a shared knowledge graph.
11+
12+
### Does it replace my backend?
13+
14+
Yes. Hypergraph is your data layer. You still host a thin sync server, but your business logic lives entirely on the client.
15+
16+
### Who is Hypergraph for?
17+
18+
Developers building collaborative, consumer-facing apps that require real-time data sync, end-to-end encryption, and public knowledge graph interoperability. Ideal for those who want to focus on client-side logic without managing backend infrastructure.
19+
20+
### What problems does Hypergraph solve?
21+
22+
- Real-time sync of private data across users and devices with E2EE
23+
- No traditional backend or database required (framework handles storage and sync)
24+
- Publishing and consuming public data in an interoperable knowledge graph
25+
- Built-in user authentication and access control
26+
- Enables network effects by reusing existing data across apps
27+
28+
### What should developers know?
29+
30+
You should be comfortable writing React applications in TypeScript and familiar with common UI patterns (e.g., inboxes).
31+
32+
## Implementation Questions
33+
34+
### How can I integrate Hypergraph into an existing application?
35+
36+
You can add Hypergraph as a collaboration and privacy layer to an existing app, enabling real-time sync and end-to-end encryption while keeping your current stack for other functionality.
37+
38+
### What are Spaces?
39+
40+
Spaces are the primary grouping for users and content in Hypergraph: they represent collaboration contexts and topics. Only members of a space can access its private data.
41+
42+
### How do I get started?
43+
44+
Check out the [Quickstart](https://docs.hypergraph.thegraph.com/docs/quickstart).
45+
46+
### Where can I find the API reference?
47+
48+
Refer to the [API Reference](https://docs.hypergraph.thegraph.com/docs/api-reference/hypergraph/).
49+
50+
### How do I troubleshoot common errors?
51+
52+
Find solutions in the [Troubleshooting Guide](https://docs.hypergraph.thegraph.com/docs/troubleshooting).
53+
54+
## Support and Community
55+
56+
### Where can I find more examples or support?
57+
58+
Browse our GitHub repository for sample apps and open issues. Join the community through our issue tracker and discussion forums.
59+
60+
### How can I share feedback?
61+
62+
Provide feedback via GitHub issues or our upcoming feedback form linked in the docs.
63+
64+
### Is Hypergraph open-source?
65+
66+
100%. Apache-2.0 license. Contributions are welcomed.
67+
68+
## Security and Privacy
69+
70+
### Can the server read my private data?
71+
72+
No. All private content is encrypted client-side with a per-Space symmetric key.
73+
74+
### What happens if I lose my keys?
75+
76+
Today you're out of luck (similar to Signal). A social recovery scheme is on the roadmap. Follow [#51](https://github.com/graphprotocol/hypergraph/issues/51).
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: Hypergraph
3+
sidebarTitle: Overview
4+
---
5+
6+
## Overview
7+
8+
[Hypergraph](https://docs.hypergraph.thegraph.com/) is a TypeScript-first framework for building local-first applications that sync encrypted data to a shared knowledge graph. Instead of relying on traditional backend infrastructure, it shifts control to the client and puts data where it belongs: with the user.
9+
10+
At its core, Hypergraph is powered by two innovations:
11+
12+
1. Client-side architecture that keeps users in control of their data while apps remain real-time, private, and interoperable by default.
13+
2. The [GRC-20](https://thegraph.com/blog/grc20-knowledge-graph/) standard which enables truly composable knowledge graphs.
14+
15+
With Hypergraph, developers can build collaborative apps that feel seamless, secure, and user-owned while focusing purely on client-side logic.
16+
17+
It offers end-to-end encryption, a GRC-20 Knowledge Graph SDK, JSON-LD storage, conflict-free sync with CRDTs, and Spaces for organizing people and data with fine-grained access.
18+
19+
For more specifics check out, [key features](https://docs.hypergraph.thegraph.com/docs/key-features).
20+
21+
## Core Concepts
22+
23+
### Knowledge Graphs
24+
25+
Unlike traditional databases that store data in rows and columns, knowledge graphs represent information as connected networks. This structure makes complex queries natural and efficient, while allowing the data model to evolve organically without schema migrations.
26+
27+
#### Example Use Case
28+
29+
In a social app, a traditional database might require complex joins to answer a query like: `"Posts by photographers that my friends liked"`
30+
31+
In a knowledge graph, relationships are the data:
32+
33+
```
34+
Teresa --> profession --> Photography
35+
Teresa --> owns --> Fujifilm X100
36+
Teresa --> posted --> Street Photo
37+
Alex --> friend_of --> Teresa
38+
Alex --> liked --> Street Photo
39+
```
40+
41+
This model makes queries natural and efficient, while allowing the schema to evolve organically.
42+
43+
### The Hypergraph Advantage
44+
45+
- **Private by default**: Personal data is encrypted on the device.
46+
- **Peer-to-peer**: No central server required. Collaboration is direct.
47+
- **Real-time**: Changes synchronize instantly across devices.
48+
- **Interoperable**: Data is usable across applications that support the protocol.
49+
50+
Hypergraph serializes all data using the [GRC-20 standard](https://thegraph.com/blog/grc20-knowledge-graph/). Hypergraph handles serialization, encryption, and networking behind the scenes, while developers interact with simple SDK calls.
51+
52+
### Spaces
53+
54+
A Space is the fundamental unit of collaboration. It groups people and data, similar to a folder, Slack channel, or shared document. Each Space maps one-to-one with an Automerge document, enabling conflict-free offline editing.
55+
56+
Membership and roles are tracked in an append-only Space Event Log, supporting common operations like creating a Space, updating roles, inviting members, or removing members.
57+
58+
### Identities
59+
60+
Each user controls a cryptographic **Identity** used for authentication, encryption, and signing events. Identities are stored locally, enabling multi-device logins without a backend.
61+
62+
### Inboxes
63+
64+
An Inbox is a lightweight queue for delivering updates or direct messages.
65+
66+
- **Account Inboxes**: Belong to a single user.
67+
- **Space Inboxes**: Broadcast messages to all members.
68+
69+
Inboxes can be public or private, with authentication policies controlling who can send messages.
70+
71+
### Events and CRDTs
72+
73+
Hypergraph uses CRDTs (Conflict-Free Replicated Data Types) to manage updates across peers.
74+
75+
- Updates are signed, encrypted, and broadcast to peers.
76+
- Conflicts resolve automatically without manual intervention.
77+
- Large logs are periodically compacted into snapshots for efficiency.
78+
79+
### Security Model
80+
81+
Hypergraph is designed with security as a core principle:
82+
83+
- End-to-end encryption ensures data privacy.
84+
- Digital signatures verify the authenticity of events.
85+
- Outdated or invalid updates are automatically rejected.
86+
- Keys are rotated when membership changes to prevent unauthorized access.
87+
88+
## Exploring Spaces
89+
90+
Spaces can be browsed using [Geo Browser's Testnet](https://testnet.geobrowser.io/root) by entering a Space ID. Access is restricted by each Space's privacy rules.
91+
92+
## Getting Started
93+
94+
- [Quickstart Guide](https://docs.hypergraph.thegraph.com/docs/quickstart)
95+
- [Core Concepts](https://docs.hypergraph.thegraph.com/docs/core-concepts#why-does-grc-20-exist)
96+
- [AI Usage](https://docs.hypergraph.thegraph.com/docs/ai-usage)
97+
- [API Reference](https://docs.hypergraph.thegraph.com/docs/api-reference/hypergraph/)
98+
- [Troubleshooting Guide](https://docs.hypergraph.thegraph.com/docs/troubleshooting)
99+
100+
For all Hypergraph documentation check out the [Hypergraph Docs](https://docs.hypergraph.thegraph.com/docs/quickstart) and the [Hypergraph GitHub Repo](https://github.com/graphprotocol/hypergraph).

0 commit comments

Comments
 (0)