An interactive 3D visualization platform for exploring research software projects from the Netherlands eScience Center, featuring AI-powered story generation for multiple audiences.
See the full feature list for all implemented and planned features.
- Framework: SvelteKit with Svelte 5 runes
- 3D Graphics: Threlte (Three.js for Svelte)
- Styling: TailwindCSS with glassmorphism design
- AI: Google Gemini API with streaming responses
- Data Source: Research Software Directory REST API
- Bun runtime (recommended) or Node.js 18+
- Google Gemini API key (for story generation)
# Install dependencies
bun install
# Start development server
bun dev
# Build for production
bun run build
# Preview production build
bun run preview- Click the gear icon in the navigation header
- Enter your Google Gemini API key
- Adjust model and generation settings as needed
Get a Gemini API key at: https://aistudio.google.com/apikey
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ RSD API │────▶│ Project Data │────▶│ 3D Scene │
│ (Projects) │ │ (ProjectWithDomain) │ (Threlte) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Project Modal │
│ ├─ Details Tab │
│ └─ Story Tab │
└──────────────────┘
│
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Related │────▶│ Story Generator │────▶│ Gemini API │
│ Software │ │ (Context) │ │ (Streaming) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Generated Story │
│ (MD/PDF Export) │
└──────────────────┘
- API keys are stored in browser localStorage (client-side only)
- No server-side processing - all API calls made directly from browser
- Consider using environment variables for production deployments
Apache 2.0 - See the main repository for full license details.