Live at: shreyashswami.is-a.dev
An elegant, high-performance personal portfolio and blog built with modern web technologies. This project showcases my work, skills, and articles, integrated with an AI-powered assistant.
- Core Framework: Built with Next.js 16 and Tailwind CSS v4 for a highly performant, globally distributed, and responsive UI.
- AI Integration: A smart chatbot powered by the Vercel AI SDK using Google/Groq models to answer contextual queries about my experience.
- Data Persistence & Media: Utilizes Neon Postgres and Drizzle ORM for a fast, serverless database, alongside Cloudinary for optimized image and media storage.
- Authentication: Secure user sessions are handled by NextAuth.js v5 to protect admin routes and management interfaces.
- Email & Communications: Uses Nodemailer to seamlessly handle incoming messages from the contact form.
- Analytics: Tracks visitors using Google Analytics and fetches live GitHub stats (ensure your GitHub PAT has
read:org,read:user, andrepopermissions to use this). - Rich Text Editing: Uses the Tiptap headless editor to provide a seamless, notion-like content creation experience for the blog.
- PWA Capabilities: Integrated with Serwist to support offline caching, app installability, and custom web push notifications.
- Custom Subdomain: Uses a free
.is-a.devdomain, which anyone can obtain by submitting a pull request to the is-a-dev/register repository. - Security & Rate Limiting: Employs Upstash Redis to enforce strict API rate limits and IPinfo to identify and block malicious traffic or VPNs. (Optional - can be turned off by env variables)
First, install the dependencies:
pnpm installThen, set up your environment variables by copying the example file:
cp .env.example .envFinally, run the development server:
pnpm run devOpen http://localhost:3000 with your browser to see the result.