Public web application / Solo project: Primary ownership
Weather Now is a fast, accessible weather app for users who want reliable forecasts with deliberate, opt-in geolocation.
Project overview
A Vue 3 single-page weather application that supports search-driven location lookup, current conditions, and forecast browsing. The app boots with a safe default location and only attempts geolocation when the user clicks “Use current location.” Unit formatting and conversion are centralized so presentation components render ready-to-display labels.
My role and ownership
Owned the end-to-end frontend build: requirements framing, component inventory, Vue + Pinia architecture, the location and weather service layer, unit formatting utilities, and the testing/CI guardrails. If something broke in production, responsibility would include debugging store orchestration, service requests/fallback logic, UI state rendering (loading/empty/error), and maintaining performance and accessibility budgets.
Key features
- Search for weather by location.
- Current conditions (temperature, icon, and location details).
- Additional metrics (feels like, humidity, wind speed, precipitation).
- 7-day forecast and an hourly forecast scoped to the selected day.
- Metric/Imperial toggles plus granular unit overrides.
- Responsive layout with keyboard and focus affordances.
- Intentional geolocation via “Use current location,” with safe fallback behavior when permissions are denied.
Skills demonstrated
- Vue 3 (Composition API) and TypeScript application development.
- State management with Pinia stores and serializable state boundaries.
- Component-driven development with clear container vs presentational separation.
- Accessibility implementation and verification (keyboard flows, ARIA patterns, automated audits).
- Performance-minded UI delivery (budgets and Lighthouse targets enforced through CI).
- Automated testing across unit and end-to-end layers.
Tech stack
- Vue 3
- Vite
- TypeScript
- Pinia
- Tailwind
- CSS Modules
- Day.js (UTC/timezone)
- Vitest
- Playwright, axe-core
- ESLint, Stylelint, Prettier
- GitHub Actions.
Project type
Frontend single-page product build with external weather/location API integration.