Building My Own Analytics Dashboard While Job Hunting
While applying for software engineering roles, I wanted to know whether recruiters and hiring managers were actually visiting my portfolio. Instead of using Google Analytics, I built a privacy-friendly analytics dashboard in Laravel to track visitors, traffic sources, popular content, and engagement directly from my own database.

While completing my internship, I started actively applying for software engineering roles. Like many job seekers, I included my portfolio website in every application, email, LinkedIn profile, and resume.
The problem was simple: I had no idea whether anyone was actually visiting it.
Was a recruiter opening my portfolio? Were hiring managers looking at my projects? Did anyone click the links I included in my resume? Or was my portfolio simply sitting online without being seen at all?
Those questions eventually led me to build a custom analytics dashboard directly into my portfolio website.
The Problem
Every time I submitted an application, I found myself wondering whether someone had actually taken the time to review my work. While I had spent countless hours building projects and documenting them in my portfolio, there was no way to know if anyone was looking at them.
I wanted answers to a few simple questions:
Are people visiting my portfolio?
Which pages are they viewing?
Where are they coming from?
Are they using mobile devices or desktops?
Is my portfolio helping my job search?
I could have installed Google Analytics, but for a personal portfolio website, that felt unnecessary. I wanted something lightweight, privacy-friendly, and fully integrated into my existing admin panel.
Building the Analytics Module
The analytics module tracks visits across the public pages of my portfolio website and stores the data directly in my database.
For each visit, the system records useful information such as the page being viewed, the traffic source, the visitor's device type, and the time of the visit. For blog posts and project pages, it can also associate views with specific content.
The goal wasn't to build another Google Analytics. Instead, I wanted a simple dashboard that answered the questions I cared about most.
Keeping Visitor Privacy in Mind
One thing I wanted to avoid was collecting personal information.
Instead of storing IP addresses or using tracking cookies, the system generates an anonymous visitor identifier based on hashed request data. This allows me to estimate unique visitors without storing information that could identify an individual.
As a result, visitors can browse the site normally while their privacy remains respected.
What the Dashboard Shows
The dashboard provides several useful insights.
Visitor Statistics
I can see the total number of pageviews and unique visitors over the last 30 days. This gives me a quick overview of how much traffic the website is receiving.
Traffic Trends
A visual chart shows daily pageviews and visitors over time. This makes it easy to identify spikes in activity, especially after submitting applications or sharing the portfolio on social platforms.
Popular Content
The dashboard highlights the most visited projects, blog posts, and pages. This helps me understand which content attracts the most attention and what visitors are most interested in exploring.
Traffic Sources
One of my favourite features is traffic attribution.
By using tagged links in my resume, emails, and other places where I share my portfolio, I can identify where visitors are coming from. This helps me distinguish between traffic generated from job applications, LinkedIn, direct visits, and other sources.
Device Breakdown
The system also provides a simple breakdown of desktop, mobile, and tablet users. This helps me ensure the website remains optimized for the devices visitors actually use.
What I Learned
Although this started as a small personal project, it turned into a valuable learning experience.
Building the module gave me hands-on experience with middleware, data modeling, analytics aggregation, dashboard design, reporting systems, and data visualization. It also reinforced the importance of designing systems that are useful without being overly complicated.
Most importantly, it reminded me that some of the best projects come from solving your own problems.
Final Thoughts
This project began with a simple question:
"Is anyone actually looking at my portfolio?"
As someone actively searching for software engineering opportunities, seeing visitor activity on the site is surprisingly motivating. Every visit represents a potential recruiter, hiring manager, client, or fellow developer who decided to take a closer look at my work.
What started as a small curiosity eventually became a complete analytics platform integrated directly into my portfolio.
And now, every time I submit an application, I no longer have to wonder whether someone visited my website. I can see the answer for myself.