Projects

Unity C# Developer
Distinctive Games
As a Graduate Programmer at Distinctive Developments, I played a key role in advancing projects with a focus on C# and Unity. I actively engaged in a variety of responsibilities, showcasing my adaptability and commitment to excellence.
Key Contributions and Responsibilities:
Project Involvement: I contributed significantly to various projects, demonstrating proficiency in C# and Unity. This involved hands-on coding, problem-solving, and collaboration within a dynamic development environment.
Hybrid Work Adaptability: Thriving in a hybrid work setting, I seamlessly navigated between remote and in-office workdays. This flexibility allowed for effective communication, timely stand-ups, and collaborative efforts with team members, regardless of physical location.
Championing Challenges: Actively participating in stand-up meetings, I consistently sought out new challenges within projects. This proactive approach contributed to the team's success and the timely delivery of high-quality solutions.
Code of Pride: I take pride in the projects accomplished at Distinctive Developments, each serving as a testament to my dedication and collaborative spirit. These projects not only honed my Unity skills but also highlighted my broader programming capabilities.
Skills Demonstrated: My time at the company showcased my proficiency in generic programming skills, problem-solving, and project management, contributing to the successful completion of various initiatives.
Overall Experience: My experience at Distinctive Developments provided a rich learning environment, where I honed my technical skills, collaborated with talented professionals, and contributed to the success of the team and projects.

Online Learning Platform - InProgress
ASP.NET, Vue.JS, Microsoft SQL Server Management Studio, T-SQL, Entity FrameWork Core, xUnit, Jest and deployed on Azure
The Online Learning Platform is a scalable web application built with ASP.NET Core and Vue.js, aimed at delivering a seamless and efficient online education experience. Deployed on Azure and leveraging PostgreSQL for database management, this platform enables users to register, browse courses, enroll in them, and track their learning progress with ease.
Key features of the Online Learning Platform include:
Data Management: Using PostgreSQL and Entity Framework Core, the platform efficiently manages course information, ensuring robust and reliable data storage.
Data Management: Was originally built using PostgreSQL but no Longer using it and instead using Microsoft SQL Server for free tier usage with Azure.
Enrollment System: Users can browse a variety of courses and enroll seamlessly, with enrolled courses automatically added to their dashboard for easy access.
Progress Tracking: The platform tracks user progress through modules and lessons, displaying detailed progress bars and completion statuses for enhanced tracking.
Interactive UI: Built with Vue.js, the platform offers a responsive and intuitive interface for course management, enrollment, and progress tracking, enhancing user engagement.
Reporting and Analytics: Integrated with SQL Server Reporting Services (SSRS), administrators can generate comprehensive reports on user enrollments, course completions, and other key metrics, supporting data-driven decision-making.
Scalability: Deployed on Azure App Service and Azure SQL Database, the platform is designed to scale seamlessly, ensuring optimal performance under varying user loads and future expansion.

Employee Performance Management System
ASP.NET, Razor, Microsoft SQL Server Management Studio, T-SQL, Entity FrameWork Core, JavaScript
The Employee Performance Management System is an ASP.NET Core MVC application designed to streamline the management of employee records and performance evaluations within an organization. Leveraging Microsoft SQL Server, Entity Framework Core, and SSRS, the system provides a comprehensive solution for tracking employee data, conducting performance reviews, and generating insightful reports.
Key features of the Employee Performance Management System include:
Data Management: Utilizing Microsoft SQL Server and Entity Framework Core, the system efficiently manages employee records, ensuring accurate and up-to-date information.
Performance Evaluations: HR personnel can conduct thorough performance evaluations through the application, tracking metrics and generating reports that aid in decision-making.
Insightful Reports: Integrated with SSRS (SQL Server Reporting Services), the system enables the generation of detailed reports, offering insights into team and individual performance trends over time.
Intuitive Interface: The application provides an intuitive interface for data entry, analysis, and reporting, enhancing user experience and productivity.
Graphical Representation: Team performance is visualized using JavaScript, displayed on a bar graph. Employees can view their latest performance review, highlighted in red if below the cutoff line, ensuring clear feedback and goal-setting.
Employee View: Employees have access to their complete performance history, including previous performance reports displayed on a line graph. This feature facilitates self-assessment and goal tracking.
Future Scalability: Designed with scalability in mind, the system can accommodate future expansions and enhancements, including potential integration with cloud platforms for increased accessibility and additional features.

Library Booking System
.Net 7.0, .NetCore, Razor Page
The Library Management System is a robust .NET Core and .NET 7.0 project designed to simplify the management and exploration of a vast collection of books, DVDs, and CDs.
Key features of the Library Management System include:
Search and Filter Capabilities: Users can efficiently search through the database of books using various criteria such as title, publication year, author, and type (book, DVD, CD). This makes it easy to locate specific items in the library's extensive collection.
Availability Check: The system allows users to check the availability of items in real-time, ensuring that they can quickly identify whether a desired book, DVD, or CD is currently in stock.
Secure Net Identity Login: The application prioritizes security with Net Identity integration, providing a robust and secure authentication system for user login.
User Functionality: Once logged in, regular users can explore the database, but they also have the additional ability to book items. A dedicated menu allows them to view a list of items they have booked, providing a convenient overview of their current library activity.
Admin Privileges: Administrators, equipped with special roles, gain access to advanced functionalities. They can view the booked items of all users, apply filters based on various criteria, and confirm the return of items, making them available for the next users.
CRUD Operations: Admins have the power to create, read, update, and delete elements in the system, ensuring efficient management of the library's inventory. They can also delve into the complete book history, revealing the usage patterns and previous users of each item.
Future Enhancements: The project is designed with future scalability in mind. While currently utilizing a local database, there are plans to expand capabilities by deploying on cloud platforms such as Microsoft Azure. This will provide enhanced scalability, reliability, and additional cloud-based features for the library management application.

Live Weather and Map App
.Net 6.0, ASP.NET MVC, Unit testing and Deployed on Azure
This .NET and ASP.NET MVC program combines OpenWeatherMap and OpenStreetMap APIs to display real-time weather and map data, providing a convenient all-in-one tool.
By leveraging the OpenWeatherMap API, the program can retrieve weather information for a given location. This includes current weather conditions such as temperature, humidity, and weather descriptions like sunny, cloudy, or rainy.
It also does another call to OpenWeatherMap API to get the forecast for the next couple of days and manipulates that data to find the average temperature, highest temperature and lowest temperature for that day.
In conjunction with the OpenStreetMap API, the program enables users to visualize maps and obtain location-based information. This can include displaying a map of a specific location, zooming in and out, and retrieving details about nearby places of interest, roads, or landmarks.
Combining the power of both APIs, the program offers users a comprehensive experience by presenting weather information overlaid on an interactive map. Users can select a location, view the current weather conditions for that area, and explore the surroundings through the map interface.
In addition to the main project, this repository includes a companion project containing unit tests for the .NET components. The test project comprises 10 different unit tests that validate the functionality, performance, and reliability of various aspects of the application.

ToDo Task Application
.Net 7.0 and Blazor
This .NET 7.0 and Blazor ToDoList application provides a seamless task management experience, allowing users to effortlessly create, edit, and delete tasks. The application is designed to streamline productivity with a focus on task organization and prioritization.
Each task in the ToDoList has a title, description, priority level, and due date. The application intelligently sorts tasks by date, presenting them in separate groups for easy navigation. Users can quickly glance at their daily agenda and prioritize tasks based on deadlines and importance.
With the interactive user interface powered by Blazor, the ToDoList app offers a user-friendly experience for managing tasks. The dynamic interface allows users to create tasks with ease, edit details on the fly, and mark tasks as completed or delete them when necessary.
The application keeps track of completed tasks for each day and provides a clear overview of task completion. It further enhances productivity by sorting tasks based on their priority, ensuring that users can efficiently tackle high-priority items first.

ToDo Task Application
Vue.JS
This is a repeat of my previous ToDoApplication but this time built using VUE.JS
This VUE.JS ToDoList application provides a seamless task management experience, allowing users to effortlessly create, edit, and delete tasks. The application is designed to streamline productivity with a focus on task organization and prioritization.
Each task in the ToDoList has a title, description, priority level, and due date. The application intelligently sorts tasks by date, presenting them in separate groups for easy navigation. Users can quickly glance at their daily agenda and prioritize tasks based on deadlines and importance.
With the interactive user interface powered by Vue, the ToDoList app offers a user-friendly experience for managing tasks. The dynamic interface allows users to create tasks with ease, edit details on the fly, and mark tasks as completed or delete them when necessary.
The application keeps track of completed tasks for each day and provides a clear overview of task completion. It further enhances productivity by sorting tasks based on their priority, ensuring that users can efficiently tackle high-priority items first.

Earth and Moon
THREE.JS, Html, CSS
Earth and Moon is an interactive project developed using Three.js, a JavaScript library for 3D rendering. The project showcases an immersive visualization of the Earth and Moon system.
In this application, both the Earth and the Moon are rendered, complete with their distinctive textures and details. The objects are dynamically rotated along their axes, creating a realistic visual representation. Furthermore, the Moon orbits the Earth with a slight angle, adding to the overall authenticity of the simulation.
A key feature of the project is the interactive functionality achieved through raycasting. By hovering the mouse over the planet, the application detects the interaction and displays relevant information using a Graphical User Interface (GUI). This provides an engaging and informative experience for users as they explore the planetary bodies.
The application also incorporates a unique feature that allows users to select planets. By utilizing vector math, the application ensures that the selected planet maintains a fixed distance from the camera, regardless of its rotation. This functionality enables users to explore the selected planet from different angles and perspectives.
One of the notable aspects of the project is its modular and extensible design. The codebase is structured in a generic fashion, allowing for the easy addition of more planets in the future. This flexibility ensures that the application can accommodate future expansions and additions without requiring significant modifications to the existing code.
By leveraging Three.js and implementing interactive features, this project provides an immersive and educational experience for users to explore and learn about the Earth and Moon system. The modular design further enhances the project's scalability and potential for future enhancements.

Generic Online Shop
Html, CSS, JavaScript
The Generic Online Shop is a website that I personally developed to showcase my expertise in HTML, CSS, and JavaScript. This project demonstrates my skills in creating a dynamic and responsive website that can adapt to different screen resolutions.
The website features a comprehensive store page where users can browse and select multiple items. It provides seamless functionality to modify the shopping cart, allowing users to add or remove items as needed. Furthermore, the website facilitates smooth and secure checkout processes, enabling users to purchase the selected items hassle-free.
One of the notable aspects of the website is its versatility. Users have the convenience of selecting items directly from the home page and seamlessly adding them to their shopping cart while exploring the store page. This intuitive user experience enhances the overall usability and convenience of the website.
By developing the Generic Online Shop, I have not only demonstrated my technical skills in HTML, CSS, and JavaScript, but also showcased my ability to create a user-friendly and efficient e-commerce platform. The project serves as a testament to my proficiency in front-end web development and my capability to deliver responsive and functional websites.

Face Recognition Game - 93% Mark
Python and OpenCV Developed
For a University assignment, I successfully developed three engaging mini games targeting school children. Two of these games utilized Augmented Reality (AR), while one was built for Virtual Reality (VR). Throughout the development process, I utilized Python along with the OpenCV libraries to create these interactive experiences.
One of the AR games incorporated a gamemode that employed face tracking. This feature allowed users to navigate and interact within a VR world by simply moving their face. It provided an immersive and intuitive way for children to engage with the game.
The second AR game employed color tracking to detect and track markers, enabling children to complete various question-based challenges in an AR environment. By utilizing the camera feed, the game presented a unique perspective and enhanced the learning experience.
The third game utilized face tracking technology to control a point on the screen. By detecting and tracking the user's face, children could manipulate the point's movement and interact with the game in an intuitive and engaging manner.
I am delighted to share that I received a remarkable 93% mark for this assignment, which I am incredibly proud of. The outcome of the assignment not only showcased my proficiency in programming with Python and utilizing the OpenCV libraries but also demonstrated my ability to create interactive and educational experiences for young learners.

Project Outbreak || Co Owner - AI Lead
Unity C# Developed
Instead of pursuing a traditional placement year, I chose to embark on an entrepreneurial journey with a group of fellow students whom I met during a game jam. Together, we founded our own independent game development company called Indie-Shark Games. Over the course of a year, we dedicated our efforts to developing our own game titled Project Outbreak.
Project Outbreak is a top-down roguelike game, and as the AI lead, my primary responsibility was to create sophisticated enemy AI systems. These enemies were designed to possess depth, working together as cohesive squads. I focused on developing modular AI behaviors that allowed for a dynamic selection of enemies during random generation. This ensured that the enemies could adapt and work together effectively in any given situation, while maintaining a sense of fairness for the player.
In order to promote our game and company, we actively participated in various events and joined Game Republic. These opportunities provided a platform to showcase our game to a wider audience. Notably, we were able to present our game at Transfuzer 2020, a significant milestone for us.
Regrettably, due to some team members having another year of university commitments, the project was left as a vertical slice. Nevertheless, we take immense pride in the progress we made and the accomplishments we achieved during this time.
By venturing into entrepreneurship and creating our own game, I gained invaluable experience in project management, team collaboration, and AI development.

Bind and Banish
Unity C# Developed
As part of my Final Year Team Project, our team of seven members collaborated to develop an intriguing first-person ghost capturing game.
In this project, I assumed the role of an AI programmer, primarily responsible for implementing various AI behaviors and developing a custom avoidance system. To control the ghost's behavior, I utilized a finite state machine approach. Some of the key AI behaviors I created include:
- Flying around the room in a zigzag pattern: The ghost navigates through the environment, creating an eerie atmosphere.
- Hiding in objects and manipulating lights: The ghost seeks refuge in objects, occasionally manipulating lights by turning them on and off. This dynamic behavior adds an element of surprise for the players.
- Aggressive behavior when revealed: Once revealed, the ghost intensifies its actions by flying around the room, throwing objects at the player, and taunting them. This adds a thrilling element to the gameplay.
- Group gathering and wandering: The ghosts gather in groups and navigate around the hotel environment using Unity Nav Mesh for pathfinding. I implemented my custom movement system to enhance their movement between waypoints.
Additionally, I made significant contributions to several other systems within the game. However, I take immense pride in the development of the ghost movement system, which I consider to be my most notable achievement in the project.
Our hard work and dedication paid off when our team received the Best Team award at The Game Republic Student Showcase 2021. This recognition is a testament to the collaborative efforts and successful outcomes achieved by our team.
Working on this project not only allowed me to sharpen my AI programming skills but also provided valuable experience in teamwork, problem-solving, and software development. It further reinforced my passion for creating immersive and engaging experiences in the field of technology.

DTH - Search For a Star 2021: Games Programming Submission
Unity C# Developed
DTH was my submission for the Search for a Star 2021 Grads in Games competition. The project presented an exciting challenge as I had the opportunity to build upon an existing codebase, allowing me to showcase my creativity as a developer and demonstrate my strong programming skills.
Throughout the project, my focus was on enhancing and expanding the given codebase. I implemented new features, refined gameplay mechanics, and optimized performance, all with the goal of creating a compelling and polished experience that would highlight my abilities and potential in the field.
I'm proud to share that my efforts were recognized, and I secured the 13th place out of 54 participants in the competition. This achievement speaks to the quality and dedication I invested in the project, as well as its impact within the competition.
Participating in the Search for a Star competition provided me with an invaluable opportunity for growth and learning. It allowed me to push my boundaries as a developer, refine my programming expertise, and fuel my passion for creating immersive and enjoyable experiences. While my involvement was in the context of game development, the skills and lessons I gained from this experience are applicable to a broader range of programming domains, and I'm excited to leverage them in new and diverse projects moving forward

THE MAD ESCAPE - Rising Star 2020: Games Programming Submission
Unity C# Developed
The Mad Escape was my submission for the Rising Star 2020 Grads in Games competition. This project provided an exciting opportunity for me to demonstrate my skills as a creative developer and showcase my strong programming abilities.
Working with a given codebase, I dedicated my efforts to enhance and build upon it, creating an engaging and captivating game experience. Throughout the project, I focused on refining gameplay mechanics, improving user interactions, and optimizing performance to deliver a polished final product.
I'm thrilled to share that The Mad Escape achieved joint 4th place in the Rising Star category of the competition. This recognition is a testament to the hard work and dedication I put into the project, as well as the impact it made within the competition.
Moreover, the game's success also earned me the One to Look out for Achievement, further highlighting my potential and dedication in the field.
Participating in the Rising Star competition provided me with an invaluable platform to showcase my talents and gain recognition within the industry. It allowed me to expand my skills as a developer and affirmed my passion for creating captivating experiences. While my involvement was in the context of game development, the skills and achievements I gained are transferrable to various domains, and I'm excited to explore new opportunities and challenges in my career.