Developer, project manager, technical architect - I design and build web applications, preferably in Python. This portfolio site focuses on the technical aspects of projects, if you want the buisiness aspects please see my LinkedIn profile.
Since 2013 I've been focused on web application development and writing code. Main projects have been the Funding Options platform (matching finance applications to alternative lenders), Check Business (provider of business information) and Coachimo (for finding professional coaches). I've learnt how not to do it, how to do it, what to do it with and where I fit in a development team that's attempting to do it (back-end architecture, team direction).Learn More
During 2016 and 2017 I helped Funding Options transition to Salesforce, building custom integrations and automating processes. I've learnt that it's generally less painful for a small organisation to change business processes to do what Salesforce wants than it is to customise Salesforce!Learn More
I have spent a lot of time organising and cleaning data for various clients. I've worked up from Excel (not a database!) and Access to MySQL and Postgres, and across to Google Sheets (not a database!) and other API driven randomness. I've even played with Elasticsearch (not a database!). Experience is generally in building or repairing something to meet immediate business needs, which means I appreciate a good bit of design but understand how to put something flexible together before the use case has fully settled.Learn More
I have spent several years setting up Project Management Offices and some time improving office administration and processes in general. This generally involves ensuring the proper tools are in place to enable effective collaboration across geographies, times, cultures and organisations. A good tool set can remove worries about who has the latest file or where the minutes are kept to enable PMO staff to actually manage projects. Yes, I can use SharePoint.Learn More
CTO and backend developer (Python/Flask) for this project. Fun stuff includes fighting with internationalisation (Babel), trying to understand various newfangled frontend frameworks, technical search engine optimisation and shaping development priorities.
Working on backend (Python/Django) and frontend (the usual and D3.js) in a team of 3 for this award-winning startup. Our matchmaking platform and positioning won us a substantial investment from GLI Finance in early 2015. Personally responsible for shaping the product, especially the bits that interface with customers, suppliers and our internal staff. Also using technical skills and Domain Driven Development techniques to help the business better shape its processes
Frontend (usual) and little backend (Python/Pyramid) on this project. Most of the frontend work involved refactoring and streamlining to ensure that the application could continue to serve pages at scale (for us, approx. 100k views per month), be 'white labelled' easily and to improve maintainability.
Led the business analysis and devleopment efforts to replace a legacy CRM with Salesforce and integrate it with our core matchmaking platform and telephony. Learnt plenty about development in APEX, also Process Builder and Workflows.
Combining data from different sources to build up co-ordinated, multi-channel, semi-automated marketing process. Technolgies include Google+, Twitter APIs, MySQL, Python, various email APIs, plenty of pen and paper... Learnt about how a correctly tailored, targeted and timed email has a surprisingly high chance of getting read and generating engagement, and how to get that working at scale.
An Access database sitting ontop of Tivoli logs and an ITIL IT architecture to generate impact of infrastructure changes and user uplift on license requirements. Then wrapped in a lovely Access frontend to make it useful to business users.
An Access database to track training materials across different training modules. Allowed one to see the impact of copyright expiry or similar on a training portfolio and schedule reviews of the materials.
Before Google Sheets and AWS, it was a time of Access and Excel... Used a range of 'power user' techniques, a team of interns and a mild case of OCD to clean up a profusion of 'databases', managed to get them integrated with a publications and conference process and in a state to comply with European law.
Front end development and administration of SharePoint sites. But not just using the SharePoint UI! In an effort to deliver more valuable functionality, I've built some quite interesting front-end plug ins, mostly using the amazing SPServices library to query other databases and push it to pages on SharePoint. I'm particularly proud of database-driven interactive IT architecture diagrams, using the Raphael SVG library, which made exploring complex IT landscapes whilst keeping a canonical record of what was in them a lot easier. Other cool stuff involved using similar front-end techniques to navigate huge document libraries by tags based on the folder structure - again, using technology to make knowledge management less painful.
Rebuilding a Project Management Office tool suite (timesheets, risks & issues, database-driven contact list, communications site) in Google Docs. Not particularly technical, but very satisfying to enable a global PMO team. Learnt the hard way about filters on Google Spreadsheets...
Google form, but with Autocrat driving the production and emailing of PDF application packs to appropriate voting bodies to decide on conference attendence.
A MySQL driven database on the Web. I'm not going to show the code to anyone because it didn't work out in the end and I made some hideous mistakes, but some of the front end frameworks I experimented with were interesting. Inluded Knockout JS, Raphael and the D3 visualisation/data-binding library. Back end in PHP/MySQL.
Uses the Annyang library, Trello API and HTML5 Speech Synthesis to do voice-controlled checklists. Hands-free shopping list? Check. Contributes to the KSP community? Check.
Uses shiny (R library) and a simple random forests algorithm to do machine learning classification. Never be confused between a versicolor, setosa or virginica again...
Using the power of Bing and the fantastic Scrapy library to do some (responsible, robots.txt obeying, non-abusive) scraping. Learnt quite a lot obout optimising Scrapy and just how big the World Wide Web is.