Resomix
A music discovery platform that finds tracks by how they actually sound rather than by genre, popularity or metadata. Sole developer, 20 months and counting.
Upwork
Mar 2021 - Present
Top Rated Plus, with 100% Job Success across thirty-nine contracts since March 2021. Twenty-three of them came from clients who had already hired me once. The work below is the part that can be shown.
A music discovery platform that finds tracks by how they actually sound rather than by genre, popularity or metadata. Sole developer, 20 months and counting.
An Elementor-based WordPress site rebuilt in plain Astro with Tailwind and TypeScript, matched closely at every breakpoint so visitors would not notice.
A client asked for a stripped-down version of an existing web application. The brief was scoped at one month and the engagement ran for seventeen.
A scraper that signs into Beatport and extracts charts, playlists, releases and hold bins, driven by a configurable list of sources rather than hard-coded ones.
A long-running automation system for a weather channel operator that composites broadcast graphics, plots live forecast data and posts alerts on a schedule.
The Vue front end for an HR platform, built from a supplied design over four months, alongside a second contractor who owned the backend and admin panel.
A miner that collects rounds from a live betting page and a separate viewer that filters and aggregates them, both shipped as executables to a non-technical operator.
A customer support and sales chatbot that answers from the client's own material rather than general knowledge, embeddable in any site with one script tag.
Reconstructs a site's entire database by exhausting its keyword space, working around a hard cap of 225 results per response and the absence of any listing endpoint.
A keyword-driven and data-driven test automation framework, rebuilt in Python from an older Java one, with a browser-based interface served by Flask.
A Java and Excel driven Selenium framework rebuilt in Python as a browser-configured standalone executable that QA staff can run without installing an IDE.
Analysis, visualisation and predictive modelling on a hospital falls dataset, taking a clinical data problem from raw records through to a working prediction.
Parses several thousand irregular contact records out of one text file into a clean spreadsheet, keyed on a repeating delimiter rather than on absent fields.
A verification tool that checks whether Instagram posts really originate inside the US, resolving missing coordinates from city or country before deciding.
A scraper that signs into LinkedIn, runs a company search and extracts the full details of every company in the result set into a structured export.
Replaced a converter that produced 96 dpi PDFs with one that produces 300 dpi on a fixed page size, using only free and open source components as the brief required.
A Windows utility that keeps a machine awake while unattended, with scheduled start and stop and a configurable interval. Rebuilt from Python into VBScript.
A geospatial analysis ranking Philadelphia billboards by proximity to competitor outlets, so advertising spend lands within sight of the right customers.
A bot that wins a daily booking slot which opens at six in the morning and is gone within minutes, run unattended every day for a client who could not be awake for it.
An analysis of Montreal BIXI bike-share ridership against date, weather, time of day, location and pricing, to model the optimal fleet size by season.
An analysis of San Francisco eviction notices from the city's open data: the most common reasons, the neighbourhoods most affected, and the trend by year.
A recipe suggestion analysis over a dataset of recipe ingredients, plus purchasing statistics by retailer, built as the first stage of a larger application.
A nutrition analysis of the McDonald's menu that recommends a meal from it based on a person's age and gender, with the macronutrient reasoning shown.
Renders confidential spreadsheets useless for disclosure by sampling columns and rows to a fixed cap, then overwriting what is left, including multi-index files.
A tool that encrypts the contents of a CSV against a separate key file, so the data cannot be read or recovered without the key that produced it.
A site-selection model for a Vancouver coffee shop, reducing an intractable 432 billion comparison problem to an analysis that finishes in a matter of minutes.
Pulls Google Trends data and renders state-level maps of the United States for two periods, so the change between them reads at a glance instead of from a table.