The platform
Wats.in is a city discovery platform run from India. Travellers and locals use it to find places worth their time, save them and share them, in the form of short visual cards: a dish at a named restaurant, a landmark or a hidden garden, something worth buying in a local shop. Each card belongs to a city and a country, carries tags such as Landmark, Hidden Gem or Local Secret, and can be liked, saved, shared and followed.
The platform serves two sides. People explore cities, build wishlists and post what they find. Retailers, businesses and institutions register as organisations, so that people nearby can follow them and see what is worth stepping in for. The network now holds 41,132 entries across 884 cities in nine countries, most of them in India, the USA, France, Spain and Australia.
What the site had to do
- Answer the question a visitor actually has in a city, such as what should I eat here? or I have four hours, in one tap.
- Give every country, city and card its own address that can be opened, shared and found on Google.
- Make cards quick to browse on a phone and quick to add from one.
- Let people follow cities, places and the people who post, and like, save and share cards.
- Reward contributions that other people genuinely use, without turning the rankings into something a business can buy.
- Keep simple bots out without putting a puzzle in front of real visitors.
What was built
Explore from the home page
The home page starts with the visitor's city: set it, search for one, or let the site pick. A search box covers standout places, food and things to buy, and Near Me and a Within 100 KM radius apply to every option below. Eighteen explore shortcuts follow, each with its own photo: Best of this city, Discover a new city, road trips, the best time to visit, what to eat, what to buy, 2, 4 or 8-hour itineraries, worth a detour, along my route, open now, for an occasion, under a budget, surprise me and more. Further down, the newest cards from the network and a handful of city collections show what the platform holds before anyone signs up.
Country and city pages
Every country has a page with a hero image, a count of places and followers, shortcuts to its cities, its most used tags and a grid of cards. Every city has its own page too, headed WATS.IN Select: Surat's Standout Places, with breadcrumbs, a Follow button, the best time to visit (with a Now badge when the current month is in season) and, where one has been written, a short story about the city. Tag chips filter the grid, and every card in it can be liked or shared on the spot.
Cards and the card viewer
Cards come in types: Eat for a dish at a named place, sometimes with its price; Out for places
to go; and Get for things to buy. Opening one shows the photos as a carousel, the place, city and
country, the person or account that posted it, its tags, comments and trivia, and buttons to like,
share, save and comment. Arrows move to the previous or next card, and a list of more entries from
the same city sits below. Each card has its own address, such as /India/Gurugram/out/1.
Community, tags and following
A Community panel opens the feed of what people are posting, local or global, narrowed by country, city or village and by card type. Tag pages gather entries across cities and filter them by Eat, Out, Get, Vibe and YouTube. A global feed lists every entry on the network, newest first, and keeps loading as you scroll. Cities, places and people can all be followed, and signed-in members get their own follows, discoveries, likes and cards in the sidebar.
Accounts for people and organisations
People and organisations register separately, with Google sign-in or email. Registration asks for a country and a city or village. The home page sets out what organisations get: public lists of bestsellers, new arrivals and discounted offers, and printed branch QR codes so that people nearby can follow them. Privacy, terms and disclaimer pages are written for Indian law, with a grievance contact.
WATS and Reputation
A public How WATS works page explains the reward system in plain language. Reputation shows how useful a member's contributions are to others: a genuine like earns 10 points, a wishlist save 20, a unique visitor through the member's share link 10, and a verified first find 20 plus 10 WATS. WATS are rewards that can be spent at participating places; in India one WAT is worth one rupee, and each currency stays separate. The page also explains why some interactions do not count, such as two accounts repeatedly liking each other's posts, and how places are ranked: organic Quality comes first, and a business's WATS Strength can separate close competitors but cannot buy the top spot.
Made for a phone
- A card deck. On a phone, a card fills the screen with large buttons: arrows to the previous and next city, Ignore, Like, Add to Wishlist and Capture.
- Capture from anywhere. A red camera button stays on screen on the home and city pages, ready for a new find.
- Installs like an app. A web app manifest, icons and a service worker let visitors add Wats.in to the home screen, and an Install App link sits in the footer of every page.
- A quiet bot check. A first visit passes through a short automatic browser check before the page opens, while Google's crawler and link previews for WhatsApp and Facebook receive the page directly.
Search and sharing
- Pages rendered on the server. City pages arrive with the city name, breadcrumbs and the list of places already in the HTML.
- A title and description for every page. Cities read Surat, India - Surat's Standout Places, and each card uses the place name as its title and, where there is one, the contributor's note as its description.
- Share images. Cities share with their hero photo and cards with their own photo, so links look right on WhatsApp and social media.
- Canonical addresses. Every city and card declares its canonical address, and a card opened under the wrong city points to the right one.
- Robots. robots.txt keeps messages, profiles, wishlists, likes and follows out of search.
Speed
- Fonts without the jump. Inter and Playfair Display are self-hosted through Next.js, preloaded from the response headers, and backed by size-matched fallback fonts so text does not shift when they arrive.
- Connections opened early. The page head preconnects to the API and the image CDN before either is needed.
- Images from a CDN. Photos are stored in Amazon S3 and served through CloudFront with year-long, immutable caching, and card grids use 600 by 400 pixel versions.
- Next pages ready. Next.js prefetches the pages linked on screen, so the next tap opens quickly, and the logo is preloaded and resized by Next.js.
Technology
The front end is built with Next.js 14 (App Router), React and Tailwind CSS, served by nginx on Ubuntu. Content and feeds come from a CodeIgniter API in PHP at api.wats.in, alongside microservices on Amazon Web Services, and photos are stored in Amazon S3 and delivered through CloudFront from cdn.wats.in. Both the Next.js front end and the API were built by our team. The Google Maps JavaScript API with the Places library is loaded for location features, people can sign in with Google, and a web app manifest with a service worker makes the site installable.
- Next.js 14
- React
- Tailwind CSS
- CodeIgniter
- PHP
- AWS microservices
- Amazon S3 and CloudFront
- Google Maps Places
- Google sign-in
- PWA (manifest and service worker)