About me
I am a software developer and qualified European and Chartered Patent Attorney specializing in software inventions with a physics degree from the University of Oxford. I bring a unique combination of legal expertise and technical insight to software development. I have learned to code in my free time, building a solid foundation through personal projects, online courses, and reading.
Throughout my legal career, I have gained exceptional analytical and communication skills. Attorney work involves quickly and efficiently digesting complex concepts to understand a wide range of technologies, then communicating this understanding in oral and written form to both clients and patent offices worldwide to secure commercially valuable patent protection.
Around half of my legal practice involves providing legal services for startup clients, such as: a biochemical computing startup; a quantum algorithms startup; and, an electric vehicle startup. The most enjoyable part of the work is solving complex technical and legal problems, and managing diverse, high-stakes tasks with tight, immovable deadlines. These skills will be invaluable in a startup environment. Given my skill set, I can add value as a software developer, scientist, and legal advisor.
Projects
Terrain Image Generator
GitHub
- Developed a full stack web application for dynamic map visualization and customization.
- Built the front end using HTML, CSS, and React with an integrated Leaflet map for interactive area selection by users.
- Users can select between hillshaded or contour maps.
- The backend, written in Rust, processes selected areas and generates hillshade or SVG contour plots which are then returned to the front end.
- Utilized AWS's Open Data Registry to source the geospatial data required for generating the maps.
Meneval: Full-Stack Organization Tool
GitHub
- A full-stack organization tool inspired by deadline management practices in private patent practice.
- Frontend: Hosted on an S3 bucket, built with HTML, CSS, and JavaScript.
- Backend: Deployed on an EC2 Ubuntu instance using Node.js with Express and React, allowing for user interactions and data management.
- Database: Utilized PostgreSQL to store user tasks and diary dates.
- User authentication: enabling secure login and personalized task management.
Grokked Algorithms
GitHub
- Coded set of algorithms in JavaScript, Python, & Rust to help ‘grok’ both the algorithms and the syntax of the languages.
- The algorithms are: Binary Search; Selection Sort; Quick Sort; Breadth-First Search (BFS); & Dijkstra’s Algorithm.
- To support my transition to software development, a good friend lent me several books on coding, one of which was 'Grokking Algorithms' which, inter alia, describes these algorithms.