Project ideas from Hacker News discussions.

Show HN: Minigraf – An embedded, bi-temporal graph database in Rust

📝 Discussion Summary (Click to expand)

Theme 1 – Skepticism about new graph databases/query languages
Many commenters question the need for another DB and query language, arguing that existing solutions are sufficient.

adsharma: “Why do you need another database and another query language for this? Existing cypher based databases which support typed properties (including timestamps) on relationship tables can handle this use case just fine.”
ex1fm3ta: “I feel you, I am completely lost with all new ‘graph flavoured DB’.”

Theme 2 – Preference for established relational stores (PostgreSQL/SQLite)
Several users default to PostgreSQL for larger workloads and SQLite for lighter ones, citing reliability and familiarity.

ex1fm3ta: “Anyway, we always end up choosing PostgreSQL for large projects or SQLite for light ones.”
ex1fm3ta (earlier): “use progresql” (referring to the frequent recommendation to stick with Postgres).

Theme 3 – Interest in embedded graph databases and their benchmarks/comparisons
The discussion also explores embedded graph options, comparing projects like LadybugDB, KuzuDB/LadybugDB, CozoDB, and Minigraf, and asking for performance data.

adsharma (maintainer of LadybugDB): “There are existing embedded graph databases which do this.”
canadiantim: “How does it compare with the since-discontinued embedded graph database cozodb? … Great to see tho, I'm always eagerly hoping for a successful embedded graph database.”
adityamukho: “Here's a comparison matrix…” and links to benchmarks/wiki for Minigraf.


🚀 Project Ideas

TempoGraph

Summary

  • An embeddable graph database library written in Rust that adds native bitemporal (transaction + valid time) support and a Datalog‑flavored query API.
  • Core value: gives developers ACID‑guaranteed, time‑traversable graph storage without running a separate server, ideal for local apps, edge devices, or WASM modules.

Details

Key Value
Target Audience Developers building desktop, mobile, or edge applications that need graph queries with historical accuracy (e.g., versioned knowledge graphs, audit trails).
Core Feature Built‑in bitemporal indexes + Datalog query engine; zero‑config embedded storage (single‑file or in‑memory).
Tech Stack Rust (sled or similar KV store for storage), Apache Arrow for columnar indexes, datafusion‑like query planner, WASM build target.
Difficulty Medium
Monetization Hobby
#### Notes
- HN users complained about lack of embedded graph DBs with temporal support (“Most graph databases I'm aware of require a server…”; “bitemporal does not mean 'including timestamps'…”) – TempoGraph directly answers those pain points.
- Provides a reproducible benchmark suite (see GraphBench idea) and can be compared against LadybugDB, CozoDB, Kuzu; encourages discussion on trade‑offs between Datalog vs Cypher.

GraphBench

Summary

  • A harness for running standardized, hardware‑agnostic benchmarks on embedded graph databases (e.g., Minigraf, LadybugDB, CozoDB, Kuzu, SQLite with graph extensions).
  • Core value: lets developers compare performance and features objectively, countering the “benchmark numbers change depending on hardware” frustration expressed in the thread.

Details

Key Value
Target Audience Database maintainers, performance‑engineers, and architects evaluating which embedded graph DB to adopt for their projects.
Core Feature Parameterizable workloads (graph traversals, bitemporal queries, bulk loads) with plug‑in backends via a thin FFI/FFI‑agnostic API; results exported as JSON/CSV with hardware metadata.
Tech Stack Python (orchestration) + C/Foreign Function Interface bindings for each DB; optional Rust crate for native builds; uses pytest‑bench and hardware‑info libraries (psutil, cpuinfo).
Difficulty Medium
Monetization Hobby
#### Notes
- Commenters like ex1fm3ta and adsharma stressed reliance on benchmark numbers and skepticism about their reliability; GraphBench provides transparent, repeatable benchmarks that can be run locally or in CI.
- Encourages discussion on the HN thread about which embedded graph DB truly excels for specific workloads (e.g., temporal queries, write‑heavy workloads) and can spark new optimizations.

GraphLay

Summary

  • A lightweight query‑abstraction layer that lets developers write simple SQL‑like statements (SELECT, INSERT, DELETE) which are automatically translated to the native query language of multiple embedded graph backends (Cypher, Datalog, Gremlin‑like).
  • Core value: eliminates the need to learn multiple graph query languages and reduces vendor lock‑in, addressing the frustration over “new graph flavored DB” and “use progresql” advice.

Details

Key Value
Target Audience Application developers who want graph capabilities but prefer a familiar SQL‑like syntax and the ability to swap graph DBs without rewriting queries.
Core Feature Dialect‑agnostic AST → backend‑specific translator plug‑ins; supports transactions, basic path patterns, and bitemporal predicates.
Tech Stack Written in Go (or Rust) with a plug‑in system; uses sqlparser for parsing; backend plugins via dynamic loading or static linking; optional WASM wrapper.
Difficulty Low
Monetization Hobby
#### Notes
- HN users noted confusion over “graph flavoured DB” and the desire to “use progresql”; GraphLay offers a progressive‑SQL approach that feels familiar yet works on any embedded graph store.
- Could become a de‑facto standard for prototyping, fostering discussion about query language interoperability and making it easier for newcomers to adopt graph technologies without steep learning curves.

Read Later