Inspiration

I wanted to create a weather app that goes beyond just showing temperature numbers using just a single prompt. The idea was to build something that feels alive and responsive to the actual weather conditions - where the interface itself reflects what's happening outside your window.

What it does

Crystal Sky is a modern weather app that provides comprehensive weather information with a beautiful, dynamic interface. It shows current conditions, hourly forecasts, 7-day forecasts, and environmental data like air quality and UV index. The app automatically detects your location and updates the background gradient based on the current weather and time of day. Currently uses mock data for demonstration, but is designed to easily integrate with OpenWeather API.

How we built it

Built with React and TypeScript using Vite for fast development from a single prompt. The app uses:

  • Zustand for state management
  • TanStack Query for data fetching and caching (ready for API integration)
  • Framer Motion for smooth animations
  • Tailwind CSS for styling with custom glass-morphism effects
  • Lucide React for clean, consistent icons
  • Mock data structure that mirrors OpenWeather API format

The dynamic background system analyzes weather conditions and time of day to generate appropriate gradient combinations, creating an immersive experience that changes throughout the day.

Challenges we ran into

The biggest challenge was creating the dynamic background system that responds to both weather conditions and time of day. Mapping different weather states to appropriate color gradients while maintaining readability and aesthetic appeal required careful consideration of color theory and accessibility.

Accomplishments that we're proud of

The seamless integration of weather data with visual design - the app doesn't just show weather information, it embodies it. The glass-morphism UI components and smooth transitions create a polished, professional feel that rivals commercial weather apps.

What we learned

Working with real-time data and creating responsive, animated interfaces taught me a lot about performance optimization and user experience design. I also gained experience with modern React patterns and state management solutions.

What's next for Crystal Sky

  • Weather alerts and notifications
  • Location search and favorites
  • Weather maps integration
  • Customizable themes and layouts
  • Progressive Web App capabilities for mobile installation

Built With

  • autoprefixer
  • eslint
  • framer-motion
  • lucide-react
  • postcss
  • react
  • tailwind-css
  • tanstack-react-query
  • typescript
  • vite
  • zustand
Share this project:

Updates