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.

    Dataset
    Hidden layers
    2
    Neurons per layer
    8

    2 → 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.

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

  1. Start with the problem

    I gather requirements directly with the client and the people who’ll use the software before choosing any technology.

  2. Scope in phases

    Larger builds are split into priced phases, so clients see working software early and can adjust between phases.

  3. Build for production

    I deliver software that’s deployed and working, not a prototype that needs rebuilding later.

  4. Earn the next project

    Several clients have come back with more work or referred other businesses to me.

Experience

  1. 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

  2. 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

  1. Sep 2022 – Oct 2025

    BSc Computer Science

    Ravensbourne University London

    High 2:1

  2. 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.