A beautiful, responsive personal timeline website with scroll-triggered animations and Google Sheets integration.
RootLynk is a dynamic personal timeline website that showcases your journey, projects, and social presence. It features smooth scroll animations, dark/light mode, and seamless integration with Google Sheets for easy content management without code changes.
What makes it unique:
- Google Sheets integration for content management
- Interactive timeline with Framer Motion animations
- Automatic GitHub project showcase
- Dark/Light mode with smooth transitions
- Fully responsive design
- Interactive Timeline – Scroll-triggered animations using Framer Motion
- Google Sheets CMS – Update content via Google Sheets without code changes
- GitHub Integration – Automatically fetch and display your GitHub projects
- Dark/Light Mode – Toggle between themes with smooth transitions
- Responsive Design – Optimized for mobile and desktop
- Animated Components – Beautiful UI with Shadcn UI components
Frontend
- React
- TypeScript
- Vite
- Tailwind CSS
- Shadcn UI
- Framer Motion
Data Source
- Google Sheets API
- GitHub API
Deployment
- GitHub Pages
Google Sheets → CSV → App Fetch → Display Timeline → GitHub API → Project Cards
# Clone the repository
git clone https://github.com/DevRanbir/rootlynk.git
# Navigate to project
cd rootlynk
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run buildUpdate src/config. ts:
export const CONFIG = {
GITHUB_USERNAME: "your-username",
GOOGLE_SHEET_URL: "your-published-sheet-csv-url",
};- Step 1: Update
src/config.tswith your GitHub username - Step 2: Create a Google Sheet with columns: Section, Title, Description, Image, Link
- Step 3: Publish your sheet as CSV (File > Share > Publish to web)
- Step 4: Add the CSV URL to config
- Step 5: Deploy to GitHub Pages with
npm run deploy
- Live Demo: https://devranbir.github.io/rootlynk/
rootlynk/
├── src/
│ ├── components/
│ │ ├── ui/
│ │ ├── theme-provider.tsx
│ │ └── mode-toggle.tsx
│ ├── lib/
│ │ ├── github. ts
│ │ └── sheets.ts
│ ├── config.ts
│ ├── App.tsx
│ └── main.tsx
├── public/
├── vite.config.ts
└── README.md
- Add blog section with markdown support
- Implement contact form
- Add analytics integration
- Create admin panel for content management
- Add multi-language support
- Name: DevRanbir
- GitHub: https://github.com/DevRanbir
This project is licensed under the MIT License.
