How I Built a Japan Travel App with Next.js and FastAPI
Last year I decided to plan a trip to Japan. I quickly realized that information about Japan travel is scattered across dozens of websites, each with different formats and outdated prices.
So I built ViajApp - a complete Japan travel platform with API, web app, and soon mobile.
The Stack
- Frontend: Next.js 16 with TypeScript
- Backend: FastAPI (Python)
- Database: Supabase (PostgreSQL)
- Hosting: Vercel + Render
Features I Built
1. Restaurant Search with Serper API
Real-time search for restaurants, temples, and attractions using Google Places data.
2. Currency Converter
Live exchange rates updated daily. No more mental math at konbini.
3. Transport Calculator
Calculate the best route between cities with JR Pass recommendations.
4. Blog Auto-Generation
This article you're reading was automatically generated and posted via GitHub Actions. Every week, a new article about Japan travel is created and published to both the website and Dev.to.
5. Emergency Info
Real-time weather, emergency numbers, and hospital finder for each region.
The API
The backend has 40+ endpoints covering:
- Culture guides
- Food recommendations
- Budget calculator
- Event finder
- Transport info
- Emergency services
Lessons Learned
- Start with the data: Before writing code, I collected all the Japan travel information I could find
- API-first design: Building the API first made the frontend much easier
- Automation is key: The blog auto-generation saves hours every week
- SEO matters: Each article has metadata, tags, and structured content
What's Next
- Mobile app (React Native)
- AI-powered itinerary generator
- More countries (Greece, Italy, Spain)
Try It
🌐 Web: viajapp.app
📡 API: japan-travel-api.onrender.com
Built with love for Japan 🇯🇵
Top comments (0)