Curiosity

HackerNews sample

The simplest end-to-end Curiosity Workspace app, indexing live data from HackerNews. Good as a 30-minute warm-up — the source has a public API, no authentication, and a small graph.

This page is both the blueprint and the walkthrough — schema, connector shape, search choices, and where to clone. For an end-to-end app on a richer domain (with ACLs, AI tools, embeddings), follow the Technical Support tutorial instead.

The graph

flowchart LR User -->|Authored| Story User -->|Authored| Comment Story -->|HasComment| Comment Comment -->|HasComment| Comment Story -->|OfType| SubmissionType
Node Key Properties
Story id title, url, score, time
Comment id text, time
User id karma, created
SubmissionType name "AskHN", "ShowHN", "Job", etc.

Retrieval

  • Text search over Story.title and Comment.text.
  • Hybrid search on Comment.text for "find similar discussions".
  • Recency sort for browsing.
  • Facets on SubmissionType, story score ranges, and User.karma tiers.

Connector

A small C# console app that:

  1. Reads the /v0/topstories and /v0/newstories feeds.
  2. Hydrates each story plus its descendant comments.
  3. Upserts using HackerNews item IDs as stable keys.
  4. Commits in batches of 200.

Source: curiosity-ai/hn.

What this demonstrates

  • A complete connector in ~150 lines of C#.
  • Recursive comment threads modeled as HasComment edges.
  • Live data that updates continuously — good for testing incremental sync patterns.
  • A Tesserae front-end with deep-linking to stories and user pages.

Where to clone

git clone https://github.com/curiosity-ai/hn

What it does not demonstrate

  • ACL ingestion (HackerNews is public).
  • AI tools (the data is interesting but the use case for chat is limited).
  • Long-text embeddings (most stories are short titles plus a URL).

For a richer sample with all of the above, see Technical support.

© 2026 Curiosity. All rights reserved.
Powered by Neko