Chris McClair solves problems with software.
I am a third-year Computer Science student currently gaining professional experience with TypeScript, Next.js, internal tools, and AI-assisted workflows.

Portfolio in progress
This page is designed to grow as my experience, case studies, and project evidence become more complete.
Real experience first, placeholders clearly marked.
This section is set up for concrete roles, dates, responsibilities, tools, and what I am learning or contributing.
Simple Online Pharmacy · Glasgow, Scotland
Working on internal automation tools and AI-assisted workflows while gaining hands-on experience with modern software engineering and web development practices using TypeScript and Next.js under mentorship from senior developers.
Placeholder Company · Placeholder
Placeholder for future work experience
Portfolio Projects
Space for real projects being built, and that have been built
This site is a deployable Next.js portfolio built to present experience, projects, and a workspace for future case studies.
I used Next.js for routing and deployment readiness, TypeScript for safer component and data changes, Tailwind CSS for fast responsive styling, and shadcn-style components for consistent UI.
Contributing to internal tooling and AI-assisted workflows during my internship at Simple Online Pharmacy.
Currently focused on learning professional engineering practices, using Git effectively, and building useful automation under senior developer mentorship.
A shared shopping list mobile app for families, partners, flatmates, and small groups.
The goal is to explore mobile UX, private circles, real-time shared lists, and useful coordination without overcomplicating the product.
How the portfolio is built.
This portfolio is also a project: it shows the frameworks I am using, why they make sense, and how the site can keep growing as I add real experience.
It gives the portfolio a production-ready structure with file-based routing, image optimization, static generation, and a straightforward Vercel deployment path.
Most of the content is data-driven, so TypeScript helps keep project, experience, and workspace entries consistent as the site grows.
Tailwind keeps layout work fast and responsive, while shadcn-style primitives give the interface reusable buttons, cards, and badges without hiding the underlying code.
Tools I am actively using or learning.
A concise view of the frameworks, languages, and workflows that currently appear in my internship, coursework, and portfolio build.
A place to keep adding evidence.
future notes and future content
add some details on experience
Turn each project into a short write-up covering problem, constraints, technical choices, outcome, and links.
Notes, design decisions, technical tradeoffs, and progress updates for the shared shopping list app.
Focused on becoming useful in real engineering teams.
I am shaping this portfolio around concrete work: what I have built, what I am learning on placement, and how I communicate technical decisions.
Experience Log
add some details on experience
Project Case Studies
Turn each project into a short write-up covering problem, constraints, technical choices, outcome, and links.
Spendly Build Log
Notes, design decisions, technical tradeoffs, and progress updates for the shared shopping list app.