Public
Like
testomg
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
https://valdottown--d64481c26fda11f0a1670224a6c84d84.web.val.run
A beautiful, responsive weather application specifically designed for New York City. Features real-time weather data, hourly forecasts, and a 7-day outlook.
- Current Weather: Real-time temperature, feels-like temperature, humidity, wind speed, and UV index
- Hourly Forecast: Next 6 hours with temperature and humidity
- 7-Day Forecast: Weekly outlook with high/low temperatures and weather conditions
- Responsive Design: Works beautifully on desktop and mobile devices
- Real-time Data: Uses Open-Meteo API for accurate, up-to-date weather information
├── backend/
│ └── index.ts # Hono API server with weather endpoints
├── frontend/
│ └── index.js # Frontend JavaScript for weather app
├── index.html # Main HTML template
└── README.md
GET /
- Serves the main weather appGET /api/weather
- Returns JSON weather data for NYCGET /index.js
- Serves the frontend JavaScript
The app uses the Open-Meteo API to fetch weather data for New York City coordinates (40.7128°N, 74.0060°W). All temperatures are converted from Celsius to Fahrenheit, and wind speeds from km/h to mph for US users.
- Backend: Hono framework on Deno
- Frontend: Vanilla JavaScript with modern ES6+ features
- Styling: TailwindCSS via Twind for responsive design
- Weather API: Open-Meteo (no API key required)
- Hosting: Val Town serverless platform
The app supports all Open-Meteo weather codes with appropriate emojis and descriptions:
- Clear/Sunny conditions ☀️
- Cloudy conditions ☁️⛅
- Rain and drizzle 🌧️🌦️
- Snow conditions ❄️🌨️
- Thunderstorms ⛈️
- Fog and mist 🌫️
The app is built with modern web standards and requires no build process. The backend serves static files and provides a REST API for weather data.
To extend the app:
- Modify
/frontend/index.js
for UI changes - Update
/backend/index.ts
for API modifications - Edit
/index.html
for layout changes