Skip to content

About

A static, founder-built map of frontier deep-tech research: breakthroughs + their commercialization gap (white space), competition, funding flows, policy tailwinds. Perplexity-powered, zero-dependency.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

DeepTech Radar

A self-contained, static dashboard of frontier deep-tech research — breakthroughs by domain, who's commercializing them (and who isn't = your white space), TRL maturity, funding flows, and policy tailwinds. Built for deep-tech founders deciding what to build, not for deal-sourcing.

No backend, no build step, no JS framework:

Path What
radar.html The whole dashboard — vanilla HTML/CSS/JS, zero dependencies. Renders data.json.
data.json The intelligence snapshot (regenerated by the pipeline)
pipeline/refresh.py The method — queries Perplexity across the sectors, founder-framed, emits data.json. Python stdlib only.
pipeline/config.json (optional) override sectors + region
.github/workflows/refresh.yml weekly GitHub Action that reruns the pipeline and commits the fresh data.json

Add it to a site (e.g. ahammadshibil.com)

Drop both files in the same directory and link to it:

<a href="/radar.html">DeepTech Radar →</a>

radar.html fetches data.json from its own directory, so as long as they sit together (e.g. /radar.html + /data.json, or /radar/radar.html + /radar/data.json) it just works. Hosts fine on GitHub Pages, Vercel, Netlify, or any static host. No server, no API key needed for the read-only dashboard.

To embed inside an existing page instead of linking out, use an iframe:

<iframe src="/radar.html" style="width:100%;height:90vh;border:0"></iframe>

Refresh the data (the method)

data.json is a point-in-time snapshot. Regenerate it with the bundled pipeline:

export PERPLEXITY_API_KEY=...        # the only dependency
python pipeline/refresh.py           # full refresh → data.json
python pipeline/refresh.py --section research --days 14   # one section, wider window

refresh.py queries Perplexity Sonar Pro across the sectors and writes the exact schema the dashboard reads. Python 3.8+, standard library only — no pip install. Every prompt is founder-framed: it reports the breakthrough and the commercialization gap (the white space you could fill), the competition map, funding flows, and the build openings policy creates.

Auto-refresh: .github/workflows/refresh.yml runs it weekly and commits the new data.json. Add a PERPLEXITY_API_KEY repo secret (Settings → Secrets and variables → Actions) and it's hands-off. Trigger manually any time from the Actions tab.

Retarget it: drop a pipeline/config.json:

{ "sectors": ["Your", "Sectors", "Here"], "region": "Southeast Asia" }

Monthly digest — "Papers I found exciting"

A curated, voiced, monthly companion to the live radar. The radar is the firehose; this is the hand-picked issue. Pipeline-drafts-you-trim:

# 1. Draft a high-quality candidate pool. --fresh pulls straight from
#    OpenAlex across frontier wheelhouse queries, ranked by venue
#    (Nature/Science/Cell…) + recency, reviews/case-reports excluded:
python pipeline/draft_issue.py --fresh --month 2026-06 --pick 12
#    (or drop --fresh to draft from the radar's sector feed in data.json)
#    optional: PERPLEXITY_API_KEY=... python pipeline/draft_issue.py --fresh --llm
#    → writes issues/2026-06.draft.json — every paper a real DOI
# 2. Trim it: keep what excited you (picked:false to drop), rewrite each
#    `why` line + the `intro` in your own voice.
# 3. Publish: rename to issues/2026-06.json, add "2026-06" to issues/index.json.

Then it appears on two surfaces from the one issue file:

  • Site — papers.html renders the latest issue + an archive switcher. Host it like the radar (e.g. papers/index.html + issues/ → yoursite.com/papers).
  • Substack / newsletter — python pipeline/to_substack.py 2026-06 > june.md emits paste-ready markdown for Atoms & Cells or any newsletter.

Issue schema (issues/<YYYY-MM>.json):

{ "month": "2026-06", "title": "Papers I found exciting", "intro": "your opener",
  "papers": [{ title, authors, institution, domain, field, trl, india_connection, link, "why": "your one-line take", "picked": true }] }

Deploy

It's static — host anywhere:

  • Subpath of an existing site (e.g. yoursite.com/deeptechradar): put radar.html as deeptechradar/index.html next to data.json. Most hosts (Netlify/Vercel/Cloudflare Pages) serve index.html for the clean path.
  • GitHub Pages: enable Pages on the repo; rename/symlink radar.html → index.html at the root.
  • Standalone (Vercel/Netlify): point it at the repo, no build command, output dir = root.

Data shape

{
  "generatedAt": "ISO date",
  "research":       [{ name, breakthroughs:[{title,institution,trl,field,key_breakthrough,india_connection,date}], count }],
  "globalStartups": [{ name, sector, country, stage, amount, amount_str, technical_thesis, india_relevance, source_url }],
  "indiaStartups":  [{ name, city, sector, funding_stage, amount, amount_str, technology_thesis, research_origin, source_url }],
  "policies":       [{ name, country, domain, funding_amount, startup_opportunities, opportunity, impact_score, source_url }],
  "top10":          [{ rank, name, thesis, market_size_2035, signal_strength, india_readiness, geographic_hubs }]
}

Customize

  • Title / tagline — edit the <header> and .tagline in radar.html.
  • Theme — the :root CSS variables at the top (dark teal by default).
  • Sectors — determined by whatever domains are in data.json; change them upstream in the pipeline.

About

A static, founder-built map of frontier deep-tech research: breakthroughs + their commercialization gap (white space), competition, funding flows, policy tailwinds. Perplexity-powered, zero-dependency.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages