web3_research_compass is a very small CLI helper that turns a project or idea name into a deterministic recommendation across three Web3 research directions:
- zk privacy rollups in the spirit of Aztec
- FHE compute stacks in the spirit of Zama
- soundness-first protocols with strong formal guarantees
It does not connect to any blockchain or RPC. It simply hashes the project name and uses that as a stable seed to assign weights to each track.
Repository layout
This repository intentionally contains only two files:
- app.py
- README.md
Concept
Teams often ask where to lean first:
- deeper into zk privacy and encrypted state
- deeper into fully homomorphic encryption and encrypted compute
- deeper into formal verification, proofs, and protocol soundness
This tool provides a playful but deterministic nudge. For a given project name, it:
- Computes a SHA-256 hash of the name.
- Uses the first few bytes of the hash to derive three weights.
- Normalizes these weights to sum to 1.
- Labels the highest weight as your suggested primary direction.
You can run it multiple times with different names or variants of a name to see how the focus shifts.
Installation
Requirements:
- Python 3.8 or newer
Setup steps:
- Create a new GitHub repository with any name.
- Place app.py and this README.md in the root directory.
- Ensure python is available on your system path.
- No external packages are required; the script uses only the standard library.
Usage
From the repository root, run the script with a project name.
Example usages:
-
For a privacy-heavy idea, maybe called dark-market-l2
Command: python app.py dark-market-l2 -
For an encrypted analytics platform, maybe called fhe-metrics-hub
Command: python app.py fhe-metrics-hub -
For a correctness-focused protocol, maybe called verified-rollup-lab
Command: python app.py verified-rollup-lab
To integrate with other tools, you can request JSON output:
- Command: python app.py aztec-inspired-lab --json
Output
In human-readable mode, the script prints:
- the project name used as input
- three weights between 0.0 and 1.0 for:
- zk privacy (Aztec-style)
- FHE compute (Zama-style)
- soundness-first protocols
- a suggested primary research direction, including:
- short label
- track key
- one line description
In JSON mode, it returns a small object with:
- projectName
- primaryTrack
- primaryTrackName
- primaryDescription
- weights (a mapping with keys aztec, zama, soundness)
Notes
- The weights are deterministic: the same project name will always yield the same result.
- This is not a serious optimizer or planning tool. It is meant as a fun way to frame conversations about whether a project leans more toward Aztec-like privacy, Zama-like FHE compute, or soundness-first protocol work.
- You can edit the TRACKS dictionary in app.py to adjust descriptions or add your own internal labels.