
Books Around the World v2
Ana / Invalid Date
Books Around the World is a full-stack reading tracker that helps users reflect on the cultural diversity of the books they read. By logging titles by country and language, readers can visualize their literary journeys across continents and years.
This app was originally built as a bootcamp capstone — and is now being fully refactored and migrated to Next.js with TypeScript as part of an ongoing effort to adopt modular, scalable, and maintainable code practices inspired by my internship at Interactive Things.
📚 The Challenge
Many readers stick to what they know — authors from their own country, language, or background.
“Am I reading widely enough? What cultures am I missing?”
This app helps answer that question by offering a zoomed-out look at your bookshelf.
🌍 What It Does
The app acts as a personal reading dashboard, where users can:
- Add books with country and language metadata
- Track reading progress and goals over time
- Explore visual insights about diversity in their reading
- Compare their habits across different years and regions
✨ Core Features
-
Account System with user login & secure sessions
-
Custom Dashboard featuring:
-
Reading goals and progress
-
Percentage of countries represented
-
Stats on books owned, read, and total pages
-
A form to add new books
-
Filter Tools (Read/Unread, Year, Continent)
-
Interactive Visualizations:
- A color-coded world map to show book origins
- Bar chart: Books per continent
- Line chart: Yearly reading trends
- Pie chart: Read vs unread breakdown
-
- Books Table to view, sort, and manage your entries
🔧 Tech Overview
- Frontend: Migrating from React to Next.js with TypeScript
- UI: MUI for layout and styling
- Data Viz: D3.js and SVG for charts and maps
- Backend: Node.js + Express (refactor to modular API structure in progress)
- Database: PostgreSQL
- Design & Prototyping: Figma
⚙️ Dev Notes
- The project uses real data from my own reading log.
- I initially used mock data for frontend testing — real-time filtering and map interactivity are being optimized as part of the refactor.
- I'm applying best practices from my internship at Interactive Things, including type-safe architecture, component modularization, and clean code principles.
🧠 Why It Matters
- Self-awareness: Visualize what parts of the world your stories come from
- Literary travel: Explore cultures through books, without leaving your home
- Broader perspective: Reading globally helps build empathy and curiosity
💬 Looking Ahead
This project is deeply personal — combining my passion for literature, data, and design. The ongoing refactor into Next.js + TypeScript reflects how much I’ve grown as a developer. My goal is to launch a public-facing version soon, so others can explore their own reading journeys too.
🔄 Current Status
🚧 In Progress: Migrating to Next.js and implementing type-safe, modular
architecture
💡 Inspired by: My internship at Interactive Things, where I focused on
data-driven design, usability, and scalable code