Readwise is a Next.js (React) web application developed as part of the research project:
"Accelerating Book Recommendations: Real-Time Personalization on Social Review Platforms with FAISS and LDA"
It enables users to discover, review, and discuss books through real-time, personalized recommendations powered by FAISS and LDA.
https://x.ai/api
GeistMonoVF.woff
and GeistVF.woff
should be placed in app/fonts/
git clone https://github.com/one-Alive/readwise.git
cd readwise
npm install
Create a .env.local
file in the root directory for clerk api
npm run dev
Open http://localhost:3000 in your browser.
/auth/sign-up
/auth/sign-in
/auth/onboarding
)welcome.tsx
โ Welcome screeninterests.tsx
โ Select interestsrecommendation.tsx
โ Preview personalized recommendationsfinal.tsx
โ Finalize and save preferencesTrending: /discover
Search: /search
Book Details: /details/[id]
BookMetadataCard
, SampleReviewCard
, and Comments
/create-thread
/thread/[id]
Rating
component/profile/[id]
ThreadsTab
/rentals/[id]/[user_id]
/purchase/[id]/[user_id]
Located in the ss/
folder:
homepage.png
onboarding.png
book-details.png
recommendations.png
profile.png
readwise/
โโโ app/
โ โโโ (auth)/
โ โ โโโ onboarding/
โ โ โโโ sign-in/
โ โ โโโ sign-up/
โ โโโ (root)/
โ โ โโโ create-thread/
โ โ โโโ details/[id]/
โ โ โโโ discover/
โ โ โโโ profile/[id]/
โ โ โโโ purchase/[id]/[user_id]/
โ โ โโโ rentals/[id]/[user_id]/
โ โ โโโ search/
โ โ โโโ thread/[id]/
โ โโโ fonts/
โ โโโ ThemeProvider.tsx
โโโ components/
โ โโโ cards/
โ โโโ forms/
โ โโโ onboarding/
โ โโโ shared/
โ โโโ ui/
โโโ lib/
โ โโโ actions/
โ โโโ validations/
โ โโโ utils.ts
โโโ public/
โโโ ss/
โโโ .env.local
โโโ next.config.mjs
โโโ tailwind.config.ts
โโโ tsconfig.json
โโโ README.md
npm run dev
โ Start development servernpm run build
โ Build for productionnpm run start
โ Launch production buildhttps://cdn.jsdelivr.net/npm/[email protected]/umd/react.production.min.js
https://cdn.jsdelivr.net/npm/[email protected]/umd/react-dom.production.min.js
Endpoint:
Example Request:
{
"user_id": "user_1",
"liked_book_ids": ["1001", "1002"],
"preferred_author_ids": ["author_1"],
"user_interests": ["science", "fiction"],
"top_n": 5
}
Example Response:
[
{
"book_id": "1003",
"title": "Science Book A",
"similarity": 0.95
}
]
This repository contains only the frontend. The Flask-based backend, including FAISS, LDA, and recommendation logic, will be released separately.
npm run build
This project is licensed under the MIT License.
Questions or feedback? Reach out to @oneAlive or open an issue.