AI Assistant
A technical showcase of advanced AI implementation, combining Google Gemini's conversational capabilities with real-world integrations including calendar management, email verification, and dynamic content access.
Technical Architecture
Core Technology
- →Google Gemini 2.5 Pro & Flash - Advanced AI model for natural language understanding
- →Next.js 15 - React framework with App Router and Server Components
- →TypeScript - Type-safe implementation
- →Redis - Session management and OTP storage
Key Integrations
- →Google Calendar API - Real-time availability and meeting scheduling
- →Nodemailer - Email verification with OTP
- →MDX Blog System - Dynamic blog content access
- →Slack API - Error notifications and monitoring
Advanced Capabilities
Function Calling & Tool Use
The AI assistant uses Google Gemini's function calling capability to execute real-world actions:
Meeting Scheduling
- • Timezone resolution from city names
- • Email verification with OTP
- • Real-time availability checking
- • Google Calendar integration
- • Meeting cancellation
Blog Content Access
- • List all blog posts with filtering
- • Fetch specific articles by slug
- • Category and tag-based search
- • File existence validation
- • Dynamic content delivery
Intelligent Session Management
Persistent conversation context with secure state management:
- →LocalStorage Integration: Chat history persists across browser sessions
- →Redis-based OTP: Secure email verification with 15-minute activity-based expiration
- →Session Tracking: Unique session IDs for each conversation
- →Context Preservation: User information maintained throughout interaction
Security & Validation
Multiple layers of security ensure safe and reliable operation:
- →Email Verification: OTP-based verification before calendar access
- →Rate Limiting: One active session per email address
- →Input Validation: TypeScript interfaces and runtime checks
- →Error Handling: Comprehensive error tracking with Slack notifications
Enhanced User Experience
Thoughtful design decisions for optimal interaction:
- →Markdown Support: Rich formatting with links, lists, and emphasis
- →Expandable Interface: Compact and full-screen modes
- →Loading States: Visual feedback during processing
- →Natural Language: City-based timezone input (e.g., "New York" → America/New_York)
Implementation Highlights
Optimized system context for efficient token usage
OTP session expiration (15 min of inactivity)
Function declarations for AI tool use
Experience It Yourself
Click the chat button in the bottom right to interact with the AI assistant. Try scheduling a meeting, asking about blog posts, or learning about my experience.
Technical Stack
Frontend
- • React 19 with TypeScript
- • Next.js 15 App Router
- • Tailwind CSS for styling
- • React Markdown for rich text
- • LocalStorage for persistence
Backend
- • Next.js API Routes
- • Google Gemini AI SDK
- • Redis for session management
- • Nodemailer for emails
- • Google Calendar API
Content Management
- • MDX for blog posts
- • Gray-matter for frontmatter
- • next-mdx-remote for rendering
- • Rehype-highlight for syntax
- • File-based content system
DevOps & Monitoring
- • PM2 for process management
- • Nginx reverse proxy
- • Slack error notifications
- • Git-based deployment
- • Environment-based config