Vodostaj.rs: React SPA → Next.js, 2.6M impressions
How a React SPA — now migrated to Next.js — reached 2.6M impressions, 60K clicks and #1 Google rankings through July 2026, with 1,200+ daily users across Serbia, Bosnia, Croatia, Germany and beyond. SEO-first from day one, compounding ever since.



- Client
- Vodostaj.rs
- Industry
- Environmental Data / Public Infrastructure
- Timeline
- 8 weeks · Next.js since May 2026
- Status
- Live & Growing
- Link
- Visit Site →
The numbers, straight from Google.
Google's own numbers through July 31, 2026 — since launch, organic search has compounded into all-time highs, and it's still accelerating.
9 in 10 sessions happen on a phone — engineered mobile-first for anglers checking levels on the riverbank.
A brand-new channel — visitors now arrive from AI assistants like ChatGPT, a discovery source that barely existed a year ago.
Source: Google Search Console + Google Analytics 4 · vodostaj.rs · data through July 31, 2026.
Fragmented data, urgent need
- No centralized platform for river water level data in Serbia
- Data scattered across multiple government sources
- No real-time monitoring the public could access
- Speed mattered: flood season was approaching
- The budget ruled out a slow, traditional build
Modern platform, rapid execution
- Built a React SPA with real-time data
- Integrated 100+ monitoring stations from official government sources
- Built an interactive map of all stations
- Set up an SEO-first architecture with manual Google indexing
- Deployed on modern, scalable hosting
- Migrated to Next.js (SSR/SSG) in May 2026 for automatic indexing
More than a dashboard — a water & fishing platform
Vodostaj.rs turns fragmented government hydrology into a real-time, personalised tool for anglers across the Balkans — engineered to grow from a monitoring dashboard into a full fishing-intelligence ecosystem.
Water level monitoring
Real-time and historical levels for 100+ RHMZ stations — interactive map, trend deltas and flood/drought thresholds across the connected river network.
Lovostaj — fishing regulations
Closed seasons and minimum catch sizes per species, with plain-language summaries of Serbian fishing law and structured data. The single biggest traffic driver.
Threshold alerts
Anglers set their own water-level thresholds per station and get a web-push notification the moment a river crosses them.
Angler tools
Favourite stations, a personal catch logbook and per-user tracking — the engagement layer that turns visitors into registered members.
Tournaments & leagues
A structured database of competitions and editions, building toward a cumulative angler ranking system.
AI fishing intelligence
A composite fishing-condition score from water level, temperature, pressure, moon phase and season — explainable, premium-gated insight.
Measurable outcomes
Real users, real engagement
Beyond traffic, the platform has an active audience: PWA installs, daily station tracking and a community that keeps coming back.
Organic search, straight from Google
Search Console totals through July 31, 2026 — SEO-first from day one on the React SPA, now compounding across the region after the Next.js migration.
Top Ranking Keywords
Serbian search queries, exactly as people type them.
| Query | Position | Clicks |
|---|---|---|
| lovostaj riba 2026 | 1.4 | 2,696 |
| vodostaj dunava | 6.3 | 1,499 |
| vodostaj rs | 1.3 | 1,074 |
| zabrana ribolova 2026 | 1.2 | 1,066 |
| lovostaj ribe 2026 | 2.3 | 903 |
| vodostaj dunava novi sad | 3.9 | 615 |
And it's still climbing
Growth hasn't plateaued — it's accelerating. In the 28 days to July 31, 2026 alone, the platform earned 693K impressions and 17.6K clicks — roughly 27% of all impressions and 29% of all clicks since launch. Nearly nine in ten of those clicks came from phones.
Next.js migration: from React SPA to v2.0
Strategic technology evolution based on proven results, not assumptions.
React SPA Foundation
Fast time to market with proven SEO results. Manual indexing validated the strategy and reached #1 rankings.
- 8-week launch
- #1 rankings achieved
- PWA installs
- 200+ favourite stations in v1.0
Next.js Migration
Migrated to Next.js for automatic indexing, SSR/SSG and stronger Core Web Vitals — now past 2.6M impressions and 60K clicks through July 2026.
- Automatic Google indexing
- Improved Core Web Vitals
- SSR for real-time data
- 2.6M impressions through July 2026
Tech stack and architecture
Platform
- • Next.js
- • React 18
- • TypeScript
- • Tailwind CSS
PWA & Engagement
- • Progressive Web App
- • Push notifications
- • Offline support
- • Home screen install
Analytics & Tracking
- • Google Analytics 4
- • Data Layer events
- • User behavior tracking
- • Conversion funnels
SEO Strategy
- • SSR/SSG auto-indexing
- • Semantic HTML
- • Meta optimization
- • Structured data
8 weeks from concept to launch
Research & Architecture
- • API research and data source identification
- • Information architecture planning
- • SEO-first URL structure design
- • Tech stack finalization
- • Design system creation
Core Development
- • API integration and data processing
- • Map implementation and station markers
- • Real-time data updates
- • Station detail pages
- • Search and filtering
Polish & Optimization
- • Performance optimization
- • Mobile responsiveness
- • SEO metadata implementation
- • Analytics integration
- • Error handling and edge cases
Launch & Monitoring
- • Final testing and QA
- • Production deployment
- • Performance monitoring setup
- • Initial user feedback collection
- • Documentation
Key learnings from this project
SEO Wins on Strategy, Not Just Stack
A pure React SPA hit #1 rankings through manual indexing — proof that SEO is strategy and content first. The later Next.js migration then unlocked scale: 2.6M impressions and 60K clicks in just over six months since launch.
PWA & Alerts Drive Real Engagement
Registered anglers have saved 727 favourite stations, keep 134 alerts active — every one still enabled — and have logged 138 catches. That level of engagement shows the product meets a real need.
Data Layer = Better Decisions
Comprehensive data layer tracking through GA4 captures every user interaction. This granular data enables evidence-based optimization and feature prioritization.
Evolution Over Perfection
Shipped v1.0 as a React SPA to validate market fit. The v2.0 migration to Next.js came only once real demand was proven — justified by data, not assumptions.
Explore more of our work
Ready to build your product?
We can help you build and launch your product using the same Growth Engineering principles that powered Vodostaj.rs. Fast execution, solid architecture, measurable results.



