A beautiful, modern welcome page with glassmorphism design, 3D parallax effects, and dynamic features. Perfect as a browser homepage or welcome screen.
- Glassmorphism Design - Beautiful frosted glass effect cards with backdrop blur
- 3D Parallax Background - Interactive depth effect that follows mouse movement
- Smooth Animations - Elegant transitions and hover effects
- Fully Responsive - Works perfectly on desktop, tablet, and mobile devices
- Real-time Clock - Displays current time with configurable format (12/24 hour)
- Dynamic Greetings - Context-aware greetings based on time of day
- Editable Name - Click to personalize your greeting
- Current Date - Full date display with day of the week
- Four Content Types:
- Inspirational Quotes - Wisdom from great thinkers (API Ninjas + Quotable API)
- Random Facts - Learn something new every day (API Ninjas)
- Clean Jokes - Add some humor to your day (API Ninjas)
- Word of the Day - Expand your vocabulary with definitions (API Ninjas)
- Content Selector - Easy navigation with icon buttons (quote/fact/joke/word)
- Smart Caching - Stores content locally for offline use
- Refresh Button - Get new content anytime with one click
- Persistent Selection - Remembers your last content type preference
- Beautiful Typography - Elegant presentation with glassmorphism
- Real-time Weather - Displays current temperature and conditions
- Auto-location - Uses geolocation to detect your location
- Smart Caching - Updates every 30 minutes to respect API limits
- Weather Icons - Beautiful animated weather icons from OpenWeatherMap
- Configurable Units - Choose between Celsius and Fahrenheit
- Preset Images - Select from images in the
img/folder (no localStorage limits!) - Easy Gallery - Simple interface to select/deselect preset images
- Smart Selection - Visual indicators show selected images
- Auto-Cycling - Automatically changes background at set intervals (configurable)
- 3D Parallax Effect - Each image gets the beautiful depth effect
- Add Your Own - Just drop image files in
img/folder and updateCONFIG.presetImagesarray
- Outlook Calendar - Connect via iCal feed (no admin permissions needed!)
- Simple Setup - Just paste your calendar's ICS URL
- Upcoming Events - View next 5 events with date, time, and location
- Auto-Refresh - Events cached for 5 minutes, manual refresh available
- Persistent Connection - Calendar URL saved locally for automatic reconnection
- Privacy First - Calendar URL stored in browser only, never on server
- Perfect for University Accounts - Works without Microsoft Graph API admin setup
- Parallax Toggle - Enable/disable 3D parallax effect
- Auto-Change Interval - Configure background rotation timing
- Time Format - Switch between 12/24 hour format
- Show Seconds - Toggle seconds display
- Reset to Defaults - One-click reset option
- Clone or download this repository
- Open
index.htmlin your browser - Optional: Configure API keys for weather and dynamic content (see guides below)
- Add preset images to
img/folder and updateCONFIG.presetImagesinjs/app.js - Customize your name and settings
- Optional: Connect Outlook calendar via iCal feed (no API setup required!)
- API Keys Guide - Step-by-step instructions to get free API keys for OpenWeatherMap and API Ninjas
- Deployment Checklist - Complete checklist for deploying to Netlify with testing steps
- Security Setup - How to securely manage API keys with Netlify Functions
To enable all features with secure API key management:
-
Get API Keys (Free):
- OpenWeatherMap API - For weather widget
- API Ninjas - For quotes, facts, jokes, and words
- See API_KEYS_GUIDE.md for detailed instructions
-
Deploy to Netlify:
- Follow DEPLOYMENT_CHECKLIST.md for complete setup
- Add API keys as environment variables (never commit them to code)
- Netlify Functions will securely proxy API requests
-
Local Development (Optional):
- Create
.envfile in project root (see.env.example) - Add your API keys to
.env - Use Netlify CLI to test functions locally
- Create
If not deploying to Netlify, you can use direct API calls:
- Open
js/app.js - Update the CONFIG object:
weather: { apiKey: 'your_openweathermap_key_here', units: 'metric', // or 'imperial' for Fahrenheit updateInterval: 30, // minutes useNetlifyFunction: false // Set to false for direct API }, apiNinjas: { apiKey: 'your_api_ninjas_key_here', useNetlifyFunction: false // Set to false for direct API }
To use local images from the img/ folder instead of localStorage:
- Add your images to the
img/folder - Open
js/app.js - Update the
CONFIG.presetImagesarray:presetImages: [ 'img/background1.jpg', 'img/background2.jpg', 'img/background3.jpg' ]
- In the gallery, switch to the "Preset" tab to select images
Benefits: No localStorage limits, faster loading, better for large image collections!
This site is optimized for Netlify deployment:
-
Connect Repository
# Push your code to GitHub git init git add . git commit -m "Initial commit" git push origin main
-
Deploy to Netlify
- Go to Netlify
- Click "Add new site" β "Import an existing project"
- Connect your GitHub repository
- Build settings: Leave default (static site)
- Click "Deploy site"
-
Environment Variables (for API Keys)
- In Netlify dashboard, go to Site settings β Environment variables
- Add
WEATHER_API_KEYwith your OpenWeatherMap key - Secure: Uses Netlify Functions to hide API keys from browser
- See
NETLIFY_SECURITY.mdfor detailed security setup guide
-
Custom Domain (Optional)
- In Netlify dashboard, go to Domain settings
- Add your custom domain
- Follow DNS configuration instructions
For best results with the 3D parallax effect:
- Landscape orientation images (16:9 or wider)
- High resolution (1920x1080 or higher)
- Scenic photos - Mountains, beaches, forests, cityscapes
- Good depth - Images with foreground/background elements work best
- File size: No limits! Images stored as file paths, not in localStorage
- Adding images: Place files in
img/folder and add paths toCONFIG.presetImagesarray
No API keys, no admin permissions, no complex setup required!
-
Get Your Calendar ICS URL
- Open Outlook Web
- Click Settings βοΈ β View all Outlook settings
- Go to Calendar β Shared calendars
- Under "Publish a calendar", select your calendar
- Click Publish and copy the ICS link
-
Connect in Dashboard
- Click the calendar icon in the navigation
- Paste your ICS URL
- Click Connect
-
Done!
- Your next 5 upcoming events will display
- Events refresh every 5 minutes automatically
- URL saved locally in your browser for automatic reconnection
- Click Refresh Events anytime for latest updates
Works with:
- Personal Outlook accounts (outlook.com, outlook.live.com)
- Office 365 / Microsoft 365 accounts
- University/School Outlook accounts (no admin needed!)
Privacy: Your calendar URL is stored in browser localStorage only - never sent to any server except Outlook to fetch your events.
- β Chrome/Edge (Recommended)
- β Firefox
- β Safari
- β Opera
- βΉοΈ Internet Explorer not supported (uses modern CSS features)
- HTML5 - Semantic markup
- CSS3 - Modern features (Grid, Flexbox, backdrop-filter)
- Vanilla JavaScript - ES6+ modules
- LocalStorage API - Client-side data persistence
- Font Awesome 6 - Icon library
- Google Fonts - Inter typeface
my_welcome_page/
βββ index.html # Main HTML file
βββ css/
β βββ style.css # All styles with glassmorphism
βββ js/
β βββ app.js # Main application logic (~1200 lines)
βββ img/
β βββ 0.jpg - 8.jpg # Preset background images
β βββ favicon.ico # Site favicon
βββ netlify/
β βββ functions/ # Serverless API proxies
β βββ weather.js # OpenWeatherMap proxy
β βββ api-ninjas-quote.js # Quotes proxy
β βββ fact.js # Facts proxy
β βββ joke.js # Jokes proxy
β βββ word-of-day.js # Word definitions proxy
β βββ ical-proxy.js # Calendar feed proxy
βββ .github/
β βββ copilot-instructions.md # AI agent guidance
βββ netlify.toml # Netlify configuration
βββ README.md # This file
βββ SETUP.md # Deployment guide
βββ CHANGELOG.md # Version history
βββ API_KEYS_GUIDE.md # API key signup instructions
βββ DEPLOYMENT_CHECKLIST.md # Testing checklist
βββ NETLIFY_SECURITY.md # Security best practices
βββ STORAGE_CLEANUP.md # localStorage cleanup guide
Edit CSS variables in css/style.css:
:root {
--primary-color: #667eea; /* Main gradient start */
--secondary-color: #764ba2; /* Main gradient end */
--accent-color: #f093fb; /* Accent highlights */
}Edit the motivationalQuotes array in js/app.js:
const motivationalQuotes = [
{ text: "Your quote here", author: "Author Name" },
// ... add more
];Adjust the depth values in HTML:
<div class="parallax-layer" data-depth="0.1"></div> <!-- Less movement -->
<div class="parallax-layer" data-depth="0.5"></div> <!-- More movement -->Images not showing?
- Verify image files exist in
img/folder - Check paths in
CONFIG.presetImagesarray match actual files - Refresh browser cache (Ctrl+F5)
Parallax not working?
- Check if "Parallax Effect" is enabled in Settings
- Some browsers limit JavaScript on file:// URLs - deploy to Netlify
- Try a different browser (Chrome/Edge recommended)
Calendar not connecting?
- Verify you copied the ICS link (not HTML link) from Outlook
- Ensure URL starts with
https://outlook.office365.comor similar - Check browser console (F12) for error messages
- Try refreshing events manually
- Make sure calendar is published in Outlook settings
Weather/quotes not loading?
- API keys must be configured in Netlify environment variables
- Test locally with
netlify devcommand - Check DEPLOYMENT_CHECKLIST.md for setup steps
All rights reserved Β© 2025
- Background photos: Your personal collection
- Icons: Font Awesome
- Font: Inter by Rasmus Andersson
- Inspiration: Modern glassmorphism design trends
Visit the live site: [Your Netlify URL]
For issues or questions, please open an issue on the GitHub repository.
Enjoy your beautiful new welcome page! π