Introduction
I am a Software Engineer at Commerzbank in London with over 2 years of professional experience. I hold a Master's degree in Artificial Intelligence and a Bachelor's degree in Computer Science. I specialise in backend development, full-stack development, and AI/ML. I completed over 50 projects across AI, web development, and software engineering, applying DevOps practices throughout. My work focuses on building scalable systems, automating workflows, and integrating intelligent solutions into production environments.
Education
I earned my Bachelor's degree in Computer Science with First Class Honours from Royal Holloway, University of London. The programme built my foundation in software engineering, databases, algorithms, and machine learning. My final year project was a full-stack social media platform focused on community discussions and engagement.
I then completed my Master's degree in Artificial Intelligence with Distinction at King's College London. I studied machine learning, deep learning, data mining, and computer vision. My dissertation investigated alignment in Large Language Models, specifically developing techniques to improve reasoning capabilities during fine-tuning. This research addressed how reasoning models lose their capabilities when trained on new data. I developed a novel hybrid-training technique that maintains reasoning ability whilst improving performance on specific tasks.
Professional
At Commerzbank, I develop backend services using Spring Boot and build full-stack applications with Next.js, React, and TypeScript. I migrated Symphony bots from a legacy codebase to a modern architecture. This reduced development time for new features and eliminated security vulnerabilities. I built the Application Status dashboard, which solved a critical problem where no easy monitoring solution existed. It is now widely used across the bank. I also developed the Rates App, providing instant access to interest rate data from Bloomberg and Refinitiv. On the infrastructure side, I containerised the Symphony infrastructure using Docker and implemented CI/CD pipelines with TeamCity. I mentor interns, guiding them through onboarding and technical challenges.
I contribute to open-source projects within the GNOME desktop environment. I helped develop the Quick Settings feature and provided feedback for core applications like Files, Terminal, and Settings. I also contributed to Files UWP by implementing the details pane for Windows users. Previously, I worked as a Software Engineer for the Google Developer Student Club at Royal Holloway, where I collaborated on building an open-source learning platform.
Earlier roles as a Team Leader and Tutor developed my mentoring and communication abilities. I helped students improve their academic performance significantly, with one student increasing their grade from 62% to 72%. These positions taught me to adapt to different learning styles and provide constructive feedback.
Technical Specialisations
I specialise in AI and machine learning, from research to production deployment. My work includes developing custom neural networks from scratch and fine-tuning large language models for specific tasks. I use PyTorch and TensorFlow for model development, and Hugging Face tools for efficient fine-tuning. My research background allows me to implement novel training techniques, such as the hybrid-training approach I developed for maintaining reasoning capabilities in LLMs.
I build full-stack applications that solve real business problems. I work with Next.js and React for responsive interfaces, and Spring Boot or Flask for backend services. I design database schemas across different database types and apply normalisation for data integrity. I've built production systems handling real-time data from external sources and applications serving thousands of users.
My DevOps approach focuses on automation and reliability. I containerise applications using Docker and implement CI/CD pipelines that reduce deployment times. I've migrated legacy infrastructure to modern architectures, improving maintainability and monitoring capabilities. This work ensures systems remain stable whilst enabling rapid feature development.
Notable Achievements
At Commerzbank, I built the Application Status dashboard, which solved a critical monitoring gap. It is now widely used across the bank to track application health in real time.
I also developed the Rates App, providing front-office users instant access to interest rate data from Bloomberg and Refinitiv.
I migrated a suite of Symphony bots from legacy code to a modern architecture. This eliminated security vulnerabilities and reduced development time for new features. The migration delivered immediate cost savings through in-house implementation. I also containerised the Symphony infrastructure using Docker, making on-premise components easier to maintain and significantly improving monitoring capabilities.
I contributed to the GNOME desktop environment, helping develop the Quick Settings feature and working on extensions like the All-in-One Clipboard Manager. I also implemented the details pane for Files UWP, improving file management for Windows users.
My Master's dissertation developed a novel hybrid-training technique for Large Language Models. This addresses catastrophic forgetting during fine-tuning, allowing models to maintain reasoning capabilities whilst learning new tasks.
Projects
AI & Machine Learning
Hybrid-Training for Large Language Models
Developed a novel technique preventing catastrophic forgetting during LLM fine-tuning. Standard supervised fine-tuning causes reasoning models to lose their capabilities. The hybrid-training approach maintains reasoning ability whilst improving task-specific performance. Master's dissertation research addressing a critical problem in LLM alignment.
Custom Neural Network from Scratch
Built a neural network without frameworks to train a Pacman agent. Implemented batch normalisation, dropout, momentum, and learning rate decay manually. Required deep understanding of backpropagation mathematics and optimisation algorithms. Demonstrates ability to work at the algorithmic level, not just using libraries.
Handwritten Digit Classifier
CNN classifier built with Keras and TensorFlow. Applied data augmentation, batch normalisation, and dropout for improved performance. Academic project demonstrating computer vision and deep learning techniques.
Linux GNOME MCP Server
Created MCP server enabling AI agents to control Linux desktop environments. Allows agents to open applications, change themes, and execute system tasks. Bridges the gap between AI assistants and operating system functionality.
Full-Stack Applications
Commerzbank Rates App
Professional application providing instant access to interest rate data at Commerzbank. Pulls data daily from Refinitiv and Bloomberg SFTP servers. Next.js frontend with separate Spring Boot backend architecture. Implements LDAP role-based access control and PostgreSQL database. Serves business users across the bank.
Car Dealership Platform
Production website serving a client business. Features inventory management, advanced search, and admin dashboard with reporting. Handles real customer traffic and business operations daily.
Rich-Text Notes
Note-taking application with rich text formatting and image support. Users organise notes into nested notebooks and publish publicly. Built with Convex backend and Clerk authentication. Deployed and publicly accessible.
Forum Discussions
Final year project demonstrating full software development lifecycle. Users create communities, start discussions, and comment. Focus on CRUD operations, database design, and software engineering best practices. Deployed and publicly accessible.
Real-Time Messaging
Learning project exploring WebSocket technology. Supports one-on-one chats, group messaging, and image sharing. Built to understand real-time communication patterns and backend architecture.
AI Generations Platform
Explored Stripe payments and AI API integration. Users generate media and have AI conversations. Learning project for understanding SaaS architectures and payment processing.
Backend & Bots
Symphony Bot Suite Migration
Modernised legacy bot architecture at Commerzbank. Reduced development time for new features by 60%. Delivered £30,000 in immediate cost savings through in-house implementation. Eliminated security vulnerabilities from outdated dependencies.
Symphony CobaGPT Bot
Integrated Azure OpenAI for enterprise automation at Commerzbank. Handles common questions and repetitive tasks. Part of bank's AI automation initiative. Improved workflow efficiency for hundreds of users.
Markdown to MessageML Converter
Created library filling a gap in Symphony ecosystem. Converts Markdown to Symphony's MessageML format. Particularly useful for rendering LLM responses in Symphony chatrooms. Used across multiple Commerzbank bots.
LDAP Role-Based Access Control Library
Reusable Spring Boot library for user authentication. Controls access across multiple applications using LDAP. Simplified security implementation for new projects at Commerzbank.
