Sajid Sharif
Software engineer and machine learning developer in London. I build AI-powered applications, backend systems and data pipelines, and deliver production software for clients.
I build software and machine learning systems for clients around the world, from AI-powered tools to full-stack web applications and backend systems, and take each one from first brief to production. I hold a BSc in Computer Science with a high 2:1, and I'm focused on large-scale AI systems, data infrastructure and model optimisation.
- Freelancing since Jan 2026, with clients who came back for more work and referred others
- Production code shipped as an intern at Conatix, with load times cut by 20%
- A neural network built from scratch that you can train live on this page
Machine learning projects
-
Neural network from scratch Live demo
JavaScript and HTML canvas. No machine learning libraries.
A neural network that learns to separate two classes of points while you watch. Every part of it, from the forward pass to backpropagation and the Adam optimiser, is written by hand. Change the architecture or training settings and the effect shows up immediately.
Circles and squares are the two classes. Filled points are training data, hollow points are held-out test data, and the shading shows what the network predicts for every position.
Hidden layersNeurons per layer2 → 8 → 8 → 1, 105 parameters
- Epoch
- 0
- Train loss
- 0.000
- Test loss
- 0.000
- Test accuracy
- 0%
Train lossTest loss
How it works. Each point is a 2D input with a label. The network runs a forward pass through fully connected layers, turns the output into a probability with a sigmoid, and scores it with binary cross-entropy loss. Backpropagation applies the chain rule layer by layer to get the gradient for every weight, then mini-batches of 16 update the weights with SGD or Adam. Optional L2 regularisation penalises large weights.
Engineering. Weights live in typed arrays and are initialised with Xavier or He scaling to suit the activation. Training runs one epoch per animation frame, and the shading is drawn from a 64 × 64 grid of predictions, so it stays smooth on a phone. Data and starting weights come from a seeded random number generator, so runs are reproducible, and the demo pauses itself when you scroll away.
Verified, not assumed. Check gradients compares backpropagation against numerical gradients from finite differences for every parameter in the current network. It’s the standard way to prove a backprop implementation is correct, and it runs live on whatever settings you’ve chosen.
Things to try. Give the spiral one layer of three neurons and watch it fail, then add capacity until it succeeds. On Circle, set noise to 40% with three layers of eight and L2 off, and test loss rises well above training loss because the network is memorising noise. That’s overfitting. Set L2 to 0.003 and the two stay close.
-
Facial recognition attendance system
Flask, React, OpenCV, TensorFlow, SQL and NoSQL
The problem. Taking attendance by hand wastes time and is easy to fake. I wanted a system that recognises people as they arrive and logs attendance automatically.
How it works. A React front end captures frames from a camera and sends them to a Flask API. OpenCV detects faces in each frame, a CNN built with TensorFlow identifies who each face belongs to, and every match is saved as an attendance record.
Making it accurate and fast. I optimised the CNN models in TensorFlow to improve recognition precision and cut processing time, so the system keeps up with a live feed instead of lagging behind it.
Data and dashboards. Attendance is stored across SQL and NoSQL databases and feeds analytics dashboards that show attendance over time.
What I’d do next. Add consent and data-deletion controls, since face data is sensitive biometric information, and test accuracy across a wider range of lighting conditions and faces.
95% detection accuracy across 1,000+ face samples
-
Sign language recognition app
Unity, TensorFlow
The problem. Most people don’t know sign language, which makes everyday conversations harder for people who rely on it. I built an app that translates signs into something anyone can understand.
How it works. The app reads hand gestures from a camera inside Unity, a TensorFlow model classifies each gesture, and the result appears as text and is spoken aloud as audio.
Improving the model. To make it reliable enough for real conversations, I expanded the training dataset and tuned the model’s hyperparameters.
Showcase. I presented the project at the university’s innovation showcase as an example of AI for social good.
What I’d do next. Move from individual gestures to continuous signing, so the app can translate full sentences.
25% better model performance after dataset expansion and tuning
Freelance work
Since March 2026 I've built software for clients around the world, from startups to established small businesses, including firms in security and cybersecurity. I work directly with founders and owners, so I own the whole job: understanding the problem, scoping the work, building it and getting it live.
-
AI symptom assessment assistant
Client: entrepreneurs from King’s College London. Web app with AI APIs.
The founders had an idea for an AI tool that helps people make sense of their symptoms and needed someone to build it. I gathered requirements with them and delivered a production-ready web app where users describe how they feel in plain language and the assistant, powered by AI APIs, guides them through an assessment.
-
Websites for security and cybersecurity firms
Responsive, performance-focused web development
For small security firms, the website is often the first thing a potential client checks before making contact. I built responsive, fast-loading sites that work well on any screen and improved each company’s online presence, working directly with the owners from first brief to launch.
How I work with clients
-
Start with the problem
I gather requirements directly with the client and the people who’ll use the software before choosing any technology.
-
Scope in phases
Larger builds are split into priced phases, so clients see working software early and can adjust between phases.
-
Build for production
I deliver software that’s deployed and working, not a prototype that needs rebuilding later.
-
Earn the next project
Several clients have come back with more work or referred other businesses to me.
Experience
-
Jan 2026 – present
Freelance software engineer & web developer
I build custom web applications, AI tools and websites for clients around the world, working directly with them from requirements to production. See my freelance work
-
Summer 2024
Full stack & UX/UI intern
Conatix
Worked in an Agile team on a production website built with Next.js, TypeScript, Node.js and PostgreSQL, and cut its load times by 20% through code optimisation and caching.
Built RESTful APIs to keep data in sync between PostgreSQL and MongoDB, took part in sprint cycles and code reviews, and shipped changes through GitHub and CI/CD pipelines, contributing to UX/UI alongside development.
Education
-
Sep 2022 – Oct 2025
BSc Computer Science
Ravensbourne University London
High 2:1
-
Sep 2020 – Jul 2022
BTEC Diploma in IT
Newham Sixth Form College
Full distinctions
Skills
- Languages
- Python, TypeScript, JavaScript, Java, C++
- Machine learning
- TensorFlow, PyTorch, scikit-learn, OpenCV, CNNs
- Web & backend
- React, Next.js, Node.js, Flask, REST APIs
- Databases
- PostgreSQL, MySQL, MongoDB, Firebase
- Cloud & DevOps
- AWS, Docker, GitHub Actions, CI/CD
- Tools
- Git, VS Code, Eclipse, Figma, Unity
Get in touch
Hiring for a junior engineering or ML role, or need something built? Email me.
You can also find me on LinkedIn.