Skip to content

my minimal personal portfolio built with Astro, React & TailwindCSS

License

Notifications You must be signed in to change notification settings

lakshaybhushan/lakshb.dev

Repository files navigation

lakshb.dev

GitHubBanner

Hey there! Thanks for stopping by. This is the source code for my super minimal personal website, lakshb.dev.

General Info

  • Astro: Built with Astro.
  • React: Built with React.
  • TypeScript: Written in TypeScript.
  • MDX: Used for writing blog posts (Lab) with interactive react elements.
  • Groq AI: Used for laksh:\ai (Lakshay's AI persona).
  • TursoDB: Used for storing personal information for AI.
  • Drizzle ORM: Used for fetching data from TursoDB.
  • Spotify API: Used for fetching now playing song.
  • Tailwind CSS: Styled with Tailwind CSS.
  • Framer Motion: Animated with Framer Motion.
  • Prettier: Formatted with Prettier.
  • PostHog: Used for web analytics.
  • Vercel: Deployed with Vercel.

Features

  • Highly Performant. — PageSpeed Insights
  • Minimal & Responsive Design with Tailwind CSS.
  • Static Site Generation with Astro.
  • Interactive Blog Posts with MDX.
  • Personal AI Assistant (laksh:\ai).
  • Spotify Now Playing Integration.
  • View Transitions API for smooth page transitions.
  • Framer Motion for micro-interactions.
  • Astro Fonts for optimized fonts loading.
  • Astro Image Component for optimized images.
  • Subtle Light Color Theme that doesn't hurt your eyes.
  • Shows current time in the footer with hand-made svg's showing time of the day.
  • SEO Optimized with OpenGraph, Twitter Meta Tags and Robots.txt.
  • Custom 404 Page with a cute illustration.
  • PostHog & Vercel Analytics for web analytics.

Project Structure

.
├── public
│   ├── docs
│   ├── fonts
│   ├── icons
│   ├── ...svgs
│   └── og.png
├── src
│   ├── assets
│   ├── components
│   ├── constants
│   ├── content
│   ├── db
│   ├── layouts
│   ├── migrations
│   ├── pages
│   └── utils
├── .env
├── .gitignore
├── .prettierignore
├── .prettierrc
├── astro.config.mjs
├── bun.lockb
├── drizzle.config.ts
├── LICENSE
├── package.json
├── README.md
├── tailwind.config.mjs
└── tsconfig.json

Development Setup

  1. Clone the repository.
git clone https://github.com/lakshaybhushan/lakshb.dev.git
  1. This project uses bun as package manager. Install the dependencies using:
bun install
  1. Start the development server using:
bun run dev
  1. Open http://localhost:4321 to view it in the browser.

Env Variables

- SITE: Your Deployed Site URL.
- SPOTIFY_CLIENT_ID: Spotify Client ID.
- SPOTIFY_CLIENT_SECRET: Spotify Client Secret.
- SPOTIFY_REFRESH_TOKEN: Spotify Refresh Token.
- GROQ_API_KEY: Groq API Key.
- TURSO_CONNECTION_URL: TursoDB Connection URL.
- TURSO_AUTH_TOKEN: TursoDB Auth Token.
- UPLOAD_SECRET: Secret for uploading/updating text file to TursoDB. Can be anything you like.

License

This project is licensed under the MIT License - see the LICENSE file for details.