Introduction
Building a portfolio is one thing. Understanding who's actually visiting it — where they come from, what they read, what device they're on — is another. I've been running Vercel Analytics on my site since launch, and after a couple of weeks of real traffic, the dashboard has enough data to tell an interesting story.
Here's everything the numbers are telling me — and the decisions I'm making based on them.
What is Vercel Analytics?
Vercel Analytics is a privacy-friendly, zero-config analytics tool built into Vercel deployments. Unlike Google Analytics, it doesn't use cookies, doesn't require a consent banner, and doesn't track users across sites. It tracks page views, unique visitors, referrers, countries, devices, and operating systems.
To enable it in a Next.js project, install the package and add one component:
npm install @vercel/analytics
// app/layout.tsx
import { Analytics } from "@vercel/analytics/react";
export default function RootLayout({ children }) {
return (
{children}
);
}
That's it. No API keys, no configuration, no cookie banners needed.
Top pages — where visitors spend time
Here's the breakdown of the most visited pages:
- / (Homepage) — 54 visitors — The most visited page, which makes sense. Every new visitor lands here first. It's the first impression — my name, what I do, and links to everything else.
- /contact — 33 visitors — The second most visited page, and the one that matters most for business outcomes. 33 visits means 33 people were interested enough to look for a way to reach me. This is a strong signal — more than 60% of homepage visitors checked the contact page.
- /services — 31 visitors — Nearly as popular as contact. People are actively exploring what I offer. This means the homepage is doing its job of converting curiosity into intent.
- /courses — 26 visitors — A strong showing for courses. Visitors are interested in learning from me, not just hiring me. This is an audience worth nurturing.
- /projects — 25 visitors — Almost tied with courses. People want to see proof of work before making any decision.
- /blog — 24 visitors — The blog is just getting started and already drawing consistent traffic. As I publish more posts, this will grow significantly.
- /admin/dashboard — 20 visitors — That's almost entirely me, managing and updating the site. I should filter out my own visits for cleaner data.
The pattern here is healthy: homepage → contact/services is exactly the funnel a freelance portfolio should have. Visitors are exploring with intent.
Referrers — where my traffic is coming from
This is the panel I find most strategically useful. Here's what each referrer tells me:
- google.com — 21 visitors (largest referrer) — Organic search is already my biggest traffic channel. Combined with search.google.com — 2 visitors, that's 23 visitors from Google search alone. This matches perfectly with my Google Search Console data showing 26 clicks and a 37.7% CTR last week.
- l.instagram.com — 4 visitors — Instagram is my second biggest source. The "l." prefix means these came from a link in Instagram stories or bio links (Instagram's link redirect). Worth exploring whether sharing more on Instagram could meaningfully grow traffic.
- com.google.android.gm — 2 visitors — This is Gmail on Android. Someone received my site link in an email and clicked it. Could be a recruiter, a potential client, or someone I shared the link with directly.
- vercel.com — 2 visitors — Vercel's deployment pages link back to projects. These might be visitors who saw my project listed in Vercel's showcase or found me through a deployment URL.
- chatgpt.com — 1 visitor — Someone asked ChatGPT something and it mentioned or linked my site. This is a new and growing traffic channel — AI tools are increasingly surfacing developer portfolios and blog posts in responses.
- facebook.com — 1 visitor — A single visit from Facebook, likely from a share or a developer group post.
The key insight: Google is dominant, Instagram is meaningful, and AI referrals are emerging. That ChatGPT visit is worth watching — as AI assistants get better at recommending specific developers and resources, being mentioned there could become a real traffic channel.
Countries — a truly global audience
The geography breakdown was one of my biggest surprises:
- India — 59% — The majority of my visitors are from India. As an Indian developer, this makes sense — my network, my social media audience, and the developer communities I'm most active in are primarily Indian. The Indian developer community is one of the most active and fast-growing in the world.
- United States — 31% — Nearly a third of my visitors are from the US. This is significant for anyone building a freelance business — US-based clients typically have the highest budgets for development work. Getting 31% US traffic on a new portfolio is genuinely encouraging.
- United Kingdom — 3% — UK visitors are a smaller but valuable segment, especially for freelance work.
- Netherlands — 2% — A small but interesting segment. The Netherlands has a strong tech sector and hosts many international companies.
- Brazil — 1% — Brazil has a massive and growing developer community, so this makes sense as a long-tail visitor source.
The US-heavy international traffic alongside my Indian base is exactly what I want to see. It means my content is crossing borders and reaching the markets where freelance development opportunities are strongest.
Devices — 70% mobile is a wake-up call
This is the number that made me sit up straight:
- Mobile — 70%
- Desktop — 30%
Seven out of ten visitors are on a phone. Most developer portfolios are designed and tested on desktop — because developers work on desktops. But the people viewing portfolios — potential clients, recruiters, curious peers — are often browsing on their phones.
This means my mobile experience needs to be just as good as desktop. Navigation that's awkward on mobile, code blocks that overflow, font sizes that are too small, buttons that are too close together — all of these hurt the majority of my visitors.
Things I'm reviewing immediately because of this data:
- Touch target sizes (minimum 44×44px for all interactive elements)
- Code block horizontal scrolling on narrow screens
- Navigation menu usability on mobile
- Font sizes — nothing below 16px for body text on mobile
- Image loading performance on slower mobile connections
Operating Systems — Android dominates
The OS breakdown reinforces the mobile story:
- Android — 62% — By far the most common OS. Combined with the 59% India traffic, this makes complete sense — Android dominates the Indian smartphone market with over 95% market share.
- Windows — 21% — My desktop visitors are predominantly on Windows. This is the developer-on-desktop audience.
- GNU/Linux — 8% — 8% Linux users is high compared to the general population (~3–4% globally) but completely normal for a developer-focused site. Linux developers are a core part of my audience.
- iOS — 8% — iPhone users from the US and UK segments, most likely.
- Mac — 1% — Surprisingly low, but consistent with a predominantly Indian Android audience.
What I'm changing based on this data
Analytics is only useful if it changes what you do. Here's my action list:
- Mobile-first audit — Testing every page on an Android Chrome browser at 360px width. Fixing anything that looks broken or feels awkward.
- Optimise the /contact page — It's the second most visited page and the most important for conversions. I want to make the contact form faster to fill out and add more social proof nearby (recent projects, testimonials).
- Double down on Google SEO — Google is already my biggest traffic channel with only a few weeks of indexing. Publishing 2–3 blog posts per week will compound this significantly over the next 3 months.
- Grow Instagram presence — 4 visitors from Instagram with minimal posting effort. If I post consistently, this channel could rival Google.
- Filter admin visits — The 20 /admin/dashboard visits are polluting my data. I can filter these out in Vercel Analytics using a custom filter or by blocking my own IP.
- Watch the ChatGPT referral — 1 visit today could be 100 in six months as AI tools surface more developer content. Writing thorough, useful blog posts now is the best way to be mentioned by AI assistants later.
How to set up Vercel Analytics on your Next.js site
npm install @vercel/analytics
// app/layout.tsx
import { Analytics } from "@vercel/analytics/react";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
Then go to your Vercel project → Analytics tab → Enable. Data starts appearing within minutes of your first page view.
Conclusion
Analytics turns a portfolio from a static brochure into a living product you can iterate on. My data tells a clear story: my audience is predominantly Indian Android users discovering me through Google, with a strong 31% US segment that's the most valuable for freelance opportunities.
The 70% mobile stat was the biggest surprise — and the most actionable. If most of your visitors are on phones and your portfolio isn't exceptional on mobile, you're losing the majority of your first impressions.
Check your own analytics. The story your data tells might surprise you too.
