Skip to content

Repository files navigation

Astro Genesis BioArchive

Installable PWA for browsing NASA-inspired bioscience dossiers from local JSON exports. Built with Vite, React, and a futuristic HUD treatment.

Quick start

npm i
npm run build:nasa-data
npm run dev

Production build

npm run build
npm run preview

Scripts

  • npm run dev – start Vite dev server
  • npm run build – type-check and build production bundle
  • npm run preview – preview built output
  • npm run make:dummy – generate dummy JSON data into public/data
  • npm run build:nasa-data – transform harvested dossiers in data/papers into runtime JSON under public/data

Architecture

  • React Router for routing across archive and dossier views
  • Zustand state store for query + filter state
  • React Query for data fetching and caching
  • Dexie for IndexedDB persistence, seeding /data/index.json on first run
  • MiniSearch for client-side search + typeahead
  • React Flow renders the branching document map
  • Recharts provides trend telemetry visuals
  • Tailwind CSS styles the classified HUD aesthetic
  • vite-plugin-pwa + Workbox for installable, offline-first experience

Data pipeline

All runtime data is static JSON under public/data. The data builders populate:

  • public/data/index.json – list of dossier summaries
  • public/data/papers/*.json – detailed dossiers matching the schema

Dexie caches the index and dossiers locally, MiniSearch indexes the cache, and Workbox caches /data/** via Stale-While-Revalidate for offline resilience.

About data/

The data/papers/ directory holds harvested NASA/Space Biology dossiers produced by scripts/pmc_ingest.py. These JSON files are treated as the raw source of truth. Run npm run build:nasa-data to enrich them with HUD-specific telemetry (confidence, access tags, entity list, citation timeline placeholders) and emit the runtime mirror under public/data.

Harvesting Space Biology publications

Use scripts/pmc_ingest.py to pull the official Space Biology PMC publications into the repository. The pipeline performs two actions:

  1. Fetch – downloads each article listed in resources/SB_publication_PMC.csv and caches the raw HTML at data/raw_pmc/<PMCID>.html.
  2. Transform – parses the cached HTML, extracts sections (abstract/methods/results/conclusion), and optionally calls an OpenAI model to infer higher-level metadata. A final dossier JSON is written to data/papers/exp_<NNN>.json.

Basic usage:

pip install pandas requests beautifulsoup4 lxml tqdm openai  # optional: openai
python scripts/pmc_ingest.py --csv resources/SB_publication_PMC.csv

Provide an OPENAI_API_KEY environment variable to enable LLM-powered summarisation. Without a key the script falls back to deterministic heuristics (keyword extraction, section summaries, platform/organism detection) so that the JSON schema is still populated.

Key output locations:

  • data/raw_pmc/ – cached raw HTML from PMC (safe to version for reproducibility).
  • data/papers/ – structured dossiers ready for ingestion by the Astro Genesis UI.

PWA

The PWA manifest is generated by vite-plugin-pwa with an InjectManifest service worker (src/sw.ts). The app shell is precached and /data/** requests use a StaleWhileRevalidate strategy.

Accessibility & UX

  • Keyboard focus rings across interactive components
  • High-contrast monochrome palette with accent glows
  • Typeahead suggestions for rapid dossier targeting
  • Responsive layout tuned for desktop and tablet mission stations

About

A zero-database, static, AI-assisted dashboard that summarizes ~608 NASA bioscience studies and lets users explore missions, organisms, research areas, and results via search, semantic similarity, clusters, and knowledge graphs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages