Built to sell itself.
This website is a working product demo. If you like what you see — the AI-powered meetings, the real-time messaging, the content moderation — I can build one for you.
AI-Powered Meetings
Gemini evaluates every meeting request, checks calendar availability via Google Calendar API, and books confirmed slots automatically. No back-and-forth scheduling emails.
Automated Content Moderation
A daily CRON job scans all user-generated content — comments, messages, display names, profile images — through Gemini. Offending users are banned automatically.
Google Workspace Integration
Calendar, Gmail, and Cloud Scheduler work together as backend infrastructure. Meeting confirmations send real emails. Calendar events appear on a real calendar.
Everything under the hood
Ten features, all production-ready. Each one is a selling point for your next website.
Firebase Authentication
Google and Microsoft OAuth sign-in with proactive token refresh, role-based access control, and automatic banned-user detection. Admin routes are protected server-side.
AI Meeting Requests
Users submit meeting requests that Gemini evaluates for relevance and quality. Approved meetings are automatically booked on Google Calendar with email confirmations sent via Gmail API.
Real-Time Messaging
Firestore-powered messaging system with real-time updates via onSnapshot listeners. Users can message the site owner directly from their dashboard.
Blog with Markdown Editor
Full-featured blog system with a rich Markdown editor, cover image uploads to Cloud Storage, and public/draft publishing states. Admin-only creation.
Content Moderation
Daily CRON job scans all user-generated content through Gemini — display names, profile images, messages, and comments. Violations trigger automatic bans with reason tracking.
User Profiles
Users can upload profile photos or take camera snapshots, with client-side image resizing. Profiles are stored in Firestore with Cloud Storage for images.
Admin Dashboard
Protected admin interface for managing users, reviewing meeting requests, and moderating content. Includes user search, ban/unban controls, and role management.
Internationalization
Full English/Norwegian language support with lazy-loaded translations. Content data files are structured so translations overlay the English defaults without code changes.
Contact Form
Firestore-backed contact form with server-side validation. Submissions are stored as documents and can be reviewed through the admin interface.
Responsive Design
Mobile-first layout with a primary breakpoint at 900px. Every page is tested at 375px, 768px, and 1200px. Animations respect prefers-reduced-motion.
Search Engine Optimization
Dynamic sitemap generated from Firestore blog posts, robots.txt with targeted crawl rules, JSON-LD structured data, Open Graph and Twitter Card metadata on every page, and canonical URLs throughout. Blog posts get per-page metadata with publish dates and cover images.
What this site runs on
Framework
Styling & Animation
Backend & Database
AI & APIs
Development
Standing on the shoulders of giants
This website is built entirely on open-source software. Every library listed here is free to use, and the communities behind them make projects like this possible.