Inspiration
With the theme being navigation, I wanted to see if I could apply the same principles central that are central to google maps to the task of knowledge acquisition.
What it does
StoryStrand is Google Maps for your curiosity: two 3D maps of meaning, with 9,814 books and 6,000 space-science articles and papers. Pick five books you love and your pin drops: you are here. Tap Learn the real science on a book like The Martian and get directions from an encyclopedia article up to real research, one difficulty level at a time, narrated by Grok Voice. You can also plan routes to any topic, take scenic detours, and Steer ("like Dune, but more Hunger Games").
How we built it
Every book and paper is turned into a vector with BGE-M3 on MLX(local hosted) , so fiction and science share one meaning space. Routes run Dijkstra's shortest-path algorithm over networks linking each item to its 10 nearest neighbors, with a hard rule that science routes never drops or skips a level. A local LLM (qwen 3.5:9b on Ollama) finds the science in a book, and Grok Voice narrates. Tiger Data holds everything: DiskANN vector search, a compressed event hypertable, and live traffic aggregates. The frontend is Next.js and React Three Fiber.
Challenges we ran into
Fetching book data (time intensive), discerning minimum group sizing for HDBSCAN clusters, vector search times.
Accomplishments that we're proud of
Every stop on a route is a real, linked source, and every climb follows set rules to ensure gradual learning.
What we learned
How embeddings behave in practice, how to harness local hosted models in project generation.
What's next for StoryStrand
Expand to new subjects (eg. medical thrillers to medicine), and share journeys as postcards with QR codes.
Built With
- arxiv
- cursor
- github
- goodreads
- google-books-api
- grok-voice
- javascript
- ngrok
- ollama
- open-library-api
- python
- qwen
- typescript
- vercel
- wikipedia-api
- xai
Log in or sign up for Devpost to join the conversation.