a modern reference management platform for organizing academic publications, building citation networks, and sharing research collections.
refhub lets you organize papers into vaults, tag them hierarchically, map citation relationships, and share collections with the research community. supports bibtex import/export and collaborative workflows.
frontend: react 18 + typescript + vite
ui/styling: tailwind css + shadcn/ui
backend: supabase (postgresql + row level security + auth)
state: tanstack query (react query)
routing: react router v6
forms: react hook form + zod
graphs: react flow
charts: recharts
- node.js 18+ or bun
- a supabase account for backend services
-
clone the repository
git clone https://github.com/yourusername/refhub.io.git cd refhub.io -
install dependencies
# using npm npm install # or using bun bun install
-
set up supabase
- create a new project at supabase.com
- run the schema from
supabase/schema_consolidated.sqlin your supabase sql editor - copy your project url and anon key
-
configure environment variables create a
.envfile in the root directory:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_key
-
start the development server
# using npm npm run dev # or using bun bun run dev
-
open your browser navigate to
http://localhost:5173
# using npm
npm run build
# or using bun
bun run buildnpm run deploythe built files will be in the dist directory and can be deployed to any static hosting service.
refhub.io/
├── src/
│ ├── components/ # reusable ui components
│ │ ├── layout/ # layout components (sidebar, etc.)
│ │ ├── publications/ # publication-related components
│ │ ├── tags/ # tag management components
│ │ ├── vaults/ # vault management components
│ │ └── ui/ # shadcn/ui base components
│ ├── hooks/ # custom react hooks
│ ├── integrations/ # external service integrations
│ │ └── supabase/ # supabase client and queries
│ ├── lib/ # utility functions
│ ├── pages/ # page components
│ └── types/ # typescript type definitions
├── supabase/ # database schema and migrations
└── public/ # static assets
contributions are welcome! please feel free to submit a pull request.
- fork the repository
- create your feature branch (
git checkout -b feature/AmazingFeature) - commit your changes (
git commit -m 'Add some AmazingFeature') - push to the branch (
git push origin feature/AmazingFeature) - open a pull request
this project is open source and available under the GPLv3.
built with shadcn/ui, powered by supabase, icons from lucide.
for questions or feedback, please open an issue on github.
© 2026 refhub.io
