Jam a man of fortune 67 Claim your prize if you find this How did you find this? xqcL

// portfolio, updated 2026

Tom
Shephard

> Computer Science Graduate

>

Location United Kingdom
Incoming Amazon Web Services
Focus Cloud & Infrastructure Software Engineering
Scroll to explore
[01]// about me

A bit about who I am

Tom Shephard

fig. 01 / tom.jpg

I graduated with a Computer Science degree in 2026, and I am joining Amazon Web Services as a Graduate Systems Analyst in July 2026. I'm passionate about cloud infrastructure, software, and building things that work reliably at scale.

Prior to joining AWS, I was a Cloud Solution Architect Intern at Microsoft, and I also previously worked as an IT Support Technician throughout my time at university. I have strong grounding in both enterprise-level architecture and hands-on technical support.

2:1 Degree Class
3+ Years in Tech

Experience at

[02]// what i do

Core skills & disciplines

01

Cloud & Infrastructure

Hands-on experience with Azure through a professional role at Microsoft, with an incoming role at Amazon working with AWS. Underpinned by academic study of operating systems, concurrency, and computer architecture, giving me a strong foundation across the full stack, from silicon to service.

02

Software Development

Comfortable across multiple languages and paradigms, including Java, C, C++, Python, Haskell and more. Projects range from building a compiler from scratch to maintaining production-quality codebases, with a consistent focus on clean, readable and well-documented code.

03

AI & Machine Learning

Built an NLP chatbot using TF-IDF vectors and cosine similarity for intent detection, and developed an evolutionary simulation modelling population dynamics under environmental stress. Grounded in both the theory and practical application of intelligent systems.

04

Security & Cryptography

Implemented a block cipher from scratch using XTS mode of operation, supporting full encryption and decryption of arbitrary input. Broader security knowledge spans firewalls, malware analysis, authentication, and secure system design.

05

Data & Visualisation

Created interactive data visualisations using R, JavaScript, and Observable Plot. Experienced with SQL and relational database design. Able to translate complex datasets into clear, meaningful visual narratives for both technical and non-technical audiences.

06

Human-Centred Design

Studied how people interact with technology and the broader role software plays in society. Used Figma to prototype collaborative systems, and applied conversational design principles in building a natural language interface, with attention to balancing technical function with genuine usability.

[03]// selected work

Recent projects

01 / 03

Evolutionary Agents Simulation

Python Simulation Evolutionary AI 2026

Designed and ran an agent-based evolutionary simulation in which hundreds of autonomous agents compete for food across a shared environment. Each agent carries three heritable traits (vision, speed, and efficiency) which determine its survival and reproduction. After allowing populations to stabilise, a shock event halved the available food supply and the simulation tracked how trait distributions shifted in response. The results surfaced genuine emergent behaviour. Trade-offs between speed and efficiency became pronounced under scarcity, mirroring the kind of pressures seen in real evolutionary biology.

Designing Intelligent Agents Project
02 / 03

Zodiac Block Cipher

Java Cryptography XTS Mode 2026

Implemented a custom block cipher named Zodiac, using the XTS mode of operation. XTS is the same standard used in full-disk encryption, providing sector-level protection against pattern leakage. The cipher supports full encryption and decryption of arbitrary plaintext input and was built entirely from first principles, with the goal of understanding the mathematical foundations of symmetric encryption rather than relying on existing cryptographic libraries.

live demo: open the terminal on the hero and run zodiac <your text>

Zodiac Block Cipher Project
03 / 03

NLP Chatbot

Python NLP TF-IDF 2025

Built a natural language chatbot using intent detection powered by TF-IDF vectors and cosine similarity. The system classifies user input against a defined intent set without relying on any external AI APIs, as the matching logic is built entirely from scratch. Alongside the technical implementation, the project explored conversational design principles: how to write dialogue that feels natural, handles ambiguity gracefully, and keeps users oriented throughout the conversation.

NLP Chatbot System Design
[04]// background

Education & experience

Education

BSc Computer Science
with Year in Industry

University of Nottingham

2022 to 2026

2:1 Classification View the course at Nottingham ↗

Modules

Explored the theory and practice of communicating data visually. Built interactive visualisations using R, JavaScript, and Observable Plot. The module covered principles of good visual design, perception, and narrative clarity.

Studied the mathematical foundations of modern cryptography, including symmetric and asymmetric encryption, block ciphers, and modes of operation. Implemented the Zodiac block cipher from scratch using XTS mode. XTS is the same standard used in full-disk encryption.

Investigated how humans interact with AI systems, covering NLP, NLU, and conversational design. Built a chatbot using TF-IDF vectors and cosine similarity for intent detection, with a focus on making dialogue feel natural and coherent.

Examined the ethical responsibilities of computing professionals. Produced a report assessing a fictitious company against ethical frameworks, covering issues such as data privacy, bias, and professional conduct.

A broader, critical module exploring how software shapes society. Topics covered included its influence on politics, workplaces, culture, and power. Developed the ability to think beyond technical function and consider the wider human context of the systems we build.

Built a compiler from the ground up. Grammars were defined using ANTLR, an Abstract Syntax Tree and intermediate representation in Two Address Code (TAC) were constructed in Java, and the output was compiled down to executable binary. Covered lexical analysis, parsing, semantic analysis, and code generation.

Explored how technology can facilitate collaboration and communication in organisations. Used Figma to prototype a system for a museum, emphasising exploration, interaction, and experience, with a focus on how design choices affect human behaviour.

Covered core concepts in computer security including firewalls, malware, authentication, password security, network attacks, and secure system design. Developed a grounded understanding of how systems are attacked and how they are defended.

Designed and implemented an evolutionary simulation in which hundreds of agents forage for food, each carrying heritable traits: vision, speed, and efficiency. The simulation was run to stability before a food-scarcity shock event was introduced, and the resulting population-level changes in trait distribution were observed and recorded.

Year in Industry placement. A full year in industry between second and final year, assessed pass/fail through monthly check-ins and progress reports, plus video presentations on what I learned. Passing it confers the with Year in Industry title and the right to graduate with it.

Led a team as project lead to build Broken Puppet, a webcam-based game using MediaPipe to track body keypoints. Players matched on-screen poses, with movements progressively distorting over time, much like a broken puppet. Responsible for coordinating the team, managing scope, and ensuring delivery.

Focused on developing a substantial project in C++. Built a 2D platformer game called Ice Slice, covering object-oriented design, memory management, game loops, and collision detection.

Introduced the principles of HCI: how users interact with systems, usability heuristics, interface evaluation methods, and user-centred design. Developed an understanding of how to design software that serves the people using it.

Explored how operating systems manage processes, memory, and resources. Implemented a round-robin process scheduler in C, gaining practical experience with concurrency, synchronisation, and the challenges of managing shared resources.

Covered the discipline of requirements engineering, including how to elicit, document, and manage software requirements. Introduced to the skills needed to work as a requirements engineer in professional software projects.

A theoretical module covering formal languages, finite automata, regular expressions, context-free grammars, and the limits of computation. Provided the mathematical foundations underpinning compiler design and programming language theory.

Given an existing Java codebase and tasked with maintaining and extending it. Assessment criteria covered code quality, clarity, Git practices, and documentation, with an emphasis on writing software that others can understand and build upon.

Covered foundational algorithms and data structures including sorting, searching, trees, graphs, and hashing. Time and space complexity analysis was also a core part of the module. Developed the ability to choose the right structure and algorithm for a given problem.

Introduced formal logic and its applications in computer science, covering propositional and predicate logic, proof techniques, and the use of formal reasoning to verify software correctness.

Foundational mathematics for computing: logic, sets, functions, relations, and discrete mathematics. Provided the rigorous mathematical grounding needed for algorithm analysis and formal reasoning work later in the degree.

Introduced core software engineering practices: version control with Git, project management, agile methodologies, and collaborative development workflows.

Covered relational database design, SQL, and building web interfaces with JavaScript and HTML. Introduced the full stack of data storage and retrieval through to front-end presentation.

An introduction to programming through C, covering variables, control flow, functions, arrays, and pointers. Introduced fundamental algorithmic thinking and problem decomposition.

Introduced computer architecture: how processors work, instruction sets, memory hierarchies, and the relationship between hardware and software. Gave a foundational understanding of what happens below the operating system.

A broad introduction to computing concepts: binary representation, logic gates, number systems, basic networking, and an overview of how computers work at a fundamental level.

Introduced core AI concepts and techniques including search algorithms, knowledge representation, and machine learning basics. Included a practical project in Python using AI libraries.

Explored different approaches to programming through functional programming in Haskell and object-oriented programming in Java, developing flexibility in thinking about how programs can be structured.

Advanced mathematics building on year one: linear algebra, matrix calculations, probability, and calculus. Provides the mathematical toolkit for machine learning, graphics, and computational modelling.

// transcript
module weighted average height = mark  width = credits

Classification is weighted from year 2 (33%) and year 4 (67%); year 1 and the industrial placement year do not count toward the final mark. The Data Visualisation module is rendered by the skill it grades, no libraries.

Experience

Work

Graduate Systems Analyst

Amazon Web Services Starting July 2026

Joining AWS as a Graduate Systems Analyst, where I'll be contributing to cloud infrastructure projects and internal systems, focused on scalable, reliable solutions across distributed environments.

AWS Systems Design Cloud Infrastructure Distributed Systems Python

Cloud Solution Architect Intern

Microsoft July 2024 - July 2025

Completed an internship within Microsoft's Security Cloud Solutions team, gaining hands-on experience designing and proposing cloud architecture solutions for enterprise clients on the Azure platform.

Azure Cloud Architecture Enterprise Security Solution Design Client Engagement

IT Support Technician

University of Nottingham 2023 - 2024

Provided part-time IT support throughout my undergraduate studies, troubleshooting hardware and software issues, supporting staff and students, and maintaining university systems.

Hardware Support Networking Windows & Linux Troubleshooting

Certifications & Achievements

Coming soon. Certifications and achievements will live here.
[05]// get in touch

Contact me

Your details are used only to reply to your message. See the Privacy & Cookie Policy.