Brainshare is a place to create and share scientific knowledge. It's an overly amitious side project, and a place to try out lots of new technologies (Supabase, Fly.io, LangChain, and lots more). The goal right now is to:
- Sync files from any Google Drive folder.
- Synced files are analyzed by Brainshare AI agents, and the results are stored in a private project database.
- Files are mapped to a public knowledge graph that includes as much systems biology knowledge as possible (biochemicals, reactions, species, genomes, regulatory elements, etc)
- Search private and public data.
- Create custom knowledge graphs for your projects, which are also available via API. Your knowledge graphs can include custom content or extend the public graph.
- Use the REST and GraphQL APIs to integrate data & knowledge graphs into external analyses (e.g. jupyter notebooks)
- Chat with your data (a la ChatGPT)
- Graph visualizations
- Make all of this available as a data source for downstream applications, e.g. pipe knowlege graphs into an external data warehouse.
Brainshare is in early stage development; roadmap:
- Authentication
- Sync files from Google Drive
- Basic chat interface
- Queue and workers for processing files
- REST API and API Gateway
- Public graph that includes biochemicals, reactions, and species
- Public graph search
- PDF analysis - map to public graph
- AI agent that can generate a knowledge graph
- GraphQL API
- Private data search
- Intelligent chat
- Public graph for genomes, genes, proteins, etc.
- Analysis of other file types
- Collabration
- SDK for accessing data in your own apps/scripts
- visualizations
- data sync
- hardening
- how to do deletions: soft delete, cascading deletes etc.
There is a live deployment at https://brainshare.io
-
supabase start
andsupabase status
-
Make a copy of
frontend/.env.example
calledfrontend/.env
. Copy the Supabase Anon Key and API URL from supabase into that file. -
cd backend && poetry install
-
Make a copy of
backend/.env.example
calledbackend/.env.local
. Copy the Supabase Anon Key, and API URL from supabase into that file. -
Run tasks in tasks.json
-
Run the full stack in launch.json