{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"label":"Principal engineer. I build platforms on the BEAM: AI systems, data platforms, and the services around them. Nineteen years in.","location":{"city":"Northern Ireland (Remote UK/EU)"},"name":"Steven Holdsworth","profiles":[{"network":"GitHub","url":"https://github.com/holsee"},{"network":"hex.pm","url":"https://hex.pm/users/holsee"}],"url":"https://holsee.github.io/cv/"},"education":[{"area":"Advanced Erlang and OTP","endDate":"2015-11-01","institution":"Erlang Solutions, taught by Robert Virding"},{"area":"Functional Programming Principles in Scala (verified certificate)","endDate":"2014-06-01","institution":"EPFL via Coursera"},{"area":"Principles of Reactive Programming","endDate":"2013-12-01","institution":"Coursera (EPFL / Typesafe)"},{"area":"High-Performance Lock-Free Data Structures and Concurrent Computing","endDate":"2013-12-01","institution":"Taught by Martin Thompson"},{"area":"BSc (Hons) Computer Science","endDate":"2009-06-30","institution":"Queen's University Belfast","startDate":"2005-09-01"}],"meta":{"canonical":"https://holsee.github.io/cv.json","lastModified":"2026-08-24"},"projects":[{"highlights":["Originated and architected the company's AI platform: versioned, auditable AI operations consumed by every product across OpenAI, Azure, Anthropic, Bedrock and Chinese providers, with a China deployment","Sole-led the credential-holding AI gateway with byte-stream audit, usage and pricing planes (27 ADRs)","Red-team evaluation suite and safeguard middleware; 46-operation fleet-wide model migration"],"name":"Faria AI platform","startDate":"2023-08-24"},{"endDate":"2025-10-22","highlights":["Wrote spirit_fingers, an Elixir SimHash library backed by a Rust NIF: kept on hex for seven years, roughly 276× faster than the pure-Elixir alternatives, and the engine inside a production duplicate-detection service"],"name":"spirit_fingers: SimHash for Elixir as a Rust NIF","startDate":"2018-05-16","url":"https://github.com/holsee/spirit_fingers"},{"endDate":"2021-01-19","highlights":["Wrote chroxy, an Elixir headless-Chrome proxy handing out raw DevTools connections from a supervised browser pool: 266 stars, thirteen hex releases, community contributors"],"name":"chroxy: pooled headless Chrome over the DevTools protocol","startDate":"2018-03-19","url":"https://github.com/holsee/chroxy"},{"highlights":["Founded the school analytics product on the group's data warehouse: attendance and grades domains, curated report views, in production across three AWS regions","Conceived and built its dynamic insights: statistical models in the warehouse (sliding-window early-warning scoring with acceleration, month-over-month decline, absence-pattern detection) providing reliable, predictable intelligence over the data, the higher-level layer that drives user insights and the LLM interaction","Built its AI line end to end: natural-language querying over a semantic layer, then an OTP agent skills system, with answers grounded in pre-computed warehouse figures"],"name":"Spotlight school analytics","startDate":"2025-01-24"},{"endDate":"2022-08-25","highlights":["Founding architect and tech lead: 14-app Elixir umbrella, Stripe Connect payments with a double-entry ledger, video and chat"],"name":"MiniPD coaching marketplace","startDate":"2020-02-13"},{"endDate":"2022-02-16","highlights":["Sole architect of a platform giving web applications that share a human user but not an auth provider an Apple Handoff-style experience: a user-consented, secure link between accounts and messaging over it; OAuth-style handshake, visibility-timeout messaging, contract-first OpenAPI, property-based tests, full IaC, clients in two languages"],"name":"Account-linking and messaging service","startDate":"2019-05-21"},{"highlights":["Authored ASDLC, a versioned agentic-SDLC specification with a reference architecture and 59-skill catalogue, and proved it by shipping production-grade systems with it"],"name":"ASDLC: an agentic software development lifecycle","startDate":"2026-04-09"},{"endDate":"2026-01-31","highlights":["Founded and architected the group's data warehouse: medallion bronze/silver/gold on S3, Athena, Glue and Parquet, per-school isolation by construction, Oban-orchestrated ETL across four external source systems","Preceded by a prototype I founded and then argued against: embedded BI over a lake, written up as a negative result that set the platform's direction"],"name":"Faria data platform","startDate":"2025-02-12"},{"endDate":"2019-09-23","highlights":["Spawnfest 2019 winner: originated and led a realtime database-as-a-service built in 48 hours"],"name":"exile: Spawnfest 2019 winner","startDate":"2019-09-19","url":"https://github.com/spawnfest/exile"},{"highlights":["Wrote Cherry, an Elixir static site generator with typed collections, a thirty-theme contract and portfolio/CV output (this site runs on it)"],"name":"Cherry: a static site generator for hackers","startDate":"2026-08-14","url":"https://github.com/holsee/cherry"},{"highlights":["Realised my own 2018 RFC as a service the same year, then rebuilt it in 2023 on my open-source Rust NIF and scaled it to 100 MB files"],"name":"Coursework near-duplicate detection","startDate":"2018-03-01"},{"endDate":"2025-12-27","highlights":["Wrote and published three Elixir libraries to hex over December 2025: conjure (Anthropic Agent Skills for the BEAM), deep_eval_ex (LLM evaluation, a port of DeepEval) and chatterbex (text-to-speech bindings)"],"name":"A Christmas of hex packages","startDate":"2025-12-17","url":"https://hex.pm/packages/conjure"},{"endDate":"2026-07-10","highlights":["Contributions merged upstream into open_api_spex, gen_magic, ex_aws_bedrock, ex_aws_s3 and pow"],"name":"Upstream contributions to Elixir libraries","startDate":"2017-12-13","url":"https://github.com/open-api-spex/open_api_spex"},{"endDate":"2020-04-21","highlights":["Sole author of my earliest work at Faria (from November 2017): a latency- and geography-aware performance-recording harness for an exam-systems product, driving real user scenarios over HTTP","Built on chroxy and chroxy_client (my own open-source headless-Chrome service), a personal library driving employer performance tests (dependency stated, ownership personal)","A Phoenix front end to run the scenarios and visualise the timings; runs stored in Postgres for regression tracking"],"name":"Performance harness on my own headless-Chrome service","startDate":"2017-11-28"},{"endDate":"2026-07-26","highlights":["Contributed Elixir semantic resolution and a nine-defect hardening campaign to DeusData's C code-intelligence MCP engine, validated against a 1,240-file production Phoenix application (impossible call edges 174 to zero)"],"name":"codebase-memory-mcp: Elixir support for a C code-intelligence engine","startDate":"2026-07-23","url":"https://github.com/DeusData/codebase-memory-mcp"},{"endDate":"2025-01-17","highlights":["Founded the data-analytics prototype whose negative result set the direction for the platform that followed (2024)","Proved the ingestion to warehouse to dashboard chain end to end, then argued against shipping it"],"name":"Data and analytics prototype","startDate":"2024-10-21"},{"endDate":"2024-01-09","highlights":["Founding engineer (October 2018): the scaffold, the first domain model and entity APIs across seven entities, and the releases/Docker/CloudFormation deployment story later imitated in a sibling service","2023–24: replaced a document-export bodge with a vendored conversion daemon of my own; built a queue-backed CRM export subsystem (durable database queue, supervised poller)"],"name":"School-authorisation application","startDate":"2018-10-02"},{"highlights":["cherrypicker: stable named .localhost URLs for local dev servers, written in Elixir with no Node toolchain and no root CA"],"name":"cherrypicker: named .localhost URLs for local dev servers","startDate":"2026-08-20","url":"https://github.com/holsee/cherrypicker"},{"highlights":["Designed and owned the division's technical assessments for seven years, spanning three role tracks: software engineering, data engineering and full-stack","Challenges built to reward genuine reasoning: worked examples where the greedy algorithm fails, a round-two \"extend your solution\" stage, and candidate communication recorded and scored alongside code","2025–26: AI-assisted calibration with generated exemplar solutions and agent-drafted, human-curated code reviews"],"name":"Technical hiring programme","startDate":"2019-07-05"},{"endDate":"2026-04-13","highlights":["Sole author: a complete embedded Shopify app in eight days (React Router 7, Prisma, BullMQ)","CI chain from schema generation through lint, types, tests and build to two dependency-audit gates, the production audit zero-tolerance; 57 Playwright specs in about 46 seconds","A visual end-to-end loop that screenshots every UI state at three breakpoints into a README index, built for AI-assisted review"],"name":"Storeguard: Shopify merchant-health app","startDate":"2026-04-05"},{"endDate":"2013-09-30","highlights":["Ported HdrHistogram to .NET (2013), from the low-latency trading years"],"name":"NHdrHistogram: HdrHistogram ported to .NET","startDate":"2013-09-01","url":"https://github.com/holsee/NHdrHistogram"},{"endDate":"2022-02-22","highlights":["Sole author of service and client alike: a JWT-scoped pub/sub message relay over Phoenix Channels, the reusable replacement for a Rails product's ageing realtime transport","A scope/session model so messages fan out only within their scope; authorisation entirely by JWT","Shipped the service and its JavaScript client together, versioned to production"],"name":"A realtime message-relay service","startDate":"2020-03-24"},{"endDate":"2015-07-31","highlights":["BeerExpert (2015): an Elixir expert system from my first year on the BEAM, 14 GitHub stars"],"name":"BeerExpert: an expert system in Elixir","startDate":"2015-07-01","url":"https://github.com/holsee/BeerExpert"},{"endDate":"2014-05-31","highlights":["ReactiveReact (2014): an RxJS and React playground from the Rx years"],"name":"ReactiveReact: an RxJS and React playground","startDate":"2014-04-01","url":"https://github.com/holsee/ReactiveReact"}],"skills":[{"name":"dotnet"},{"name":"aws"},{"name":"otp"},{"name":"ruby"},{"name":"leadership"},{"name":"oss"},{"name":"elixir"},{"name":"phoenix"},{"name":"python"},{"name":"semantic-data"},{"name":"llm"},{"name":"data-platform"},{"name":"data-ontology"},{"name":"api-design"},{"name":"rust"},{"name":"simhash"},{"name":"design-docs"},{"name":"hiring"},{"name":"security"},{"name":"liveview"},{"name":"evals"},{"name":"athena"},{"name":"agents"},{"name":"asdlc"},{"name":"static-site"},{"name":"mcp"},{"name":"postgres"},{"name":"typescript"},{"name":"sql"},{"name":"algorithms"},{"name":"docker"},{"name":"realtime"},{"name":"payments"},{"name":"distributed-systems"},{"name":"headless-chrome"},{"name":"erlang"},{"name":"riak"}],"work":[{"highlights":["Originated and architected the company's AI platform: versioned, auditable AI operations consumed by every product, multi-provider, with a separate China deployment","Founded the data platform and the Spotlight analytics product, in production across three AWS regions","Polyglot delivery alongside the Elixir platforms: a .NET document-processing daemon driven from the BEAM, Ruby in the Rails products and clients for my services, Python for the Airflow/dbt analytics stack and a Django MCP server","Standing AI strategy, AI Ethics Board and leadership-advisory roles; hands-on technical due diligence for M&A","Designed and ran an agentic SDLC for production-grade delivery; owned technical hiring for seven years"],"location":"Remote","name":"Faria Education Group","position":"Principal Polyglot Software Engineer & Architect, Strategic Engineering","startDate":"2017-11-01"},{"endDate":"2023-10-31","highlights":["Engineering leadership through the early start-up phase of an AI-governance software company (part-time, concurrent with Faria)","Established data-security controls and engineering processes; led Elixir/AWS systems design and shipped features hands-on"],"location":"Remote","name":"Enzai","position":"Director of Engineering (part-time)","startDate":"2022-10-01"},{"endDate":"2017-11-01","highlights":["Architected the ground-up replacement of an Erlang security-processing cluster as serverless Erlang on AWS: BEAMs bootstrapped inside Lambda and kept warm, Kinesis and SQS queueing (2016–17)"],"location":"Belfast","name":"Alert Logic","position":"Senior Software Engineer, Processing Platform","startDate":"2015-05-01"},{"endDate":"2015-05-01","highlights":["CME Direct trading platform (.NET) and stream-processing/CEP systems for market analysis","Co-designed a behavioural testing framework"],"location":"Belfast","name":"CME Group","position":"Senior Software Engineer, CME Direct","startDate":"2013-07-01"},{"endDate":"2013-06-30","highlights":["Mobile platform team for US healthcare: native and web medical applications","Next-generation medical-insurance transactions and a composite web architecture","Applied programming-language theory to test automation: designed a grammar for automated testing that testers could grow themselves, defining new words in terms of existing ones, an idea inspired by Guy Steele's 1998 OOPSLA talk, Growing a Language"],"location":"Belfast","name":"NaviNet","position":"Senior Software Engineer, Services & Mobile Platform","startDate":"2011-07-01"},{"endDate":"2011-06-30","highlights":["Lead developer on the middle-tier overhaul of an account system with 40,000+ active users, in Citi's Architecture & Technology Division","Introduced TDD, unit testing and automated regression testing; trained developers; consulted by senior staff on process improvement"],"location":"Belfast","name":"L&T Infotech, consulting at Citi","position":"R&D Lead & Technical Consultant","startDate":"2010-06-01"},{"endDate":"2010-06-30","highlights":["Three financial-sector contracts building high-performance analysis systems and tools for black-box trading systems and algorithmic trading strategies","A from-concept distributed execution platform scaling computation across a cluster for a private trading fund"],"location":"Remote","name":"Holdsworth & Co Consultants","position":"Software Consultant (self-employed)","startDate":"2009-07-01"},{"endDate":"2009-06-30","highlights":["Architected and built the next-generation 3D UI for a distributed multi-room media-centre product (.NET/WPF)"],"location":"Belfast","name":"Digital Future Solutions","position":"Software Developer","startDate":"2008-08-01"},{"endDate":"2008-06-30","highlights":["Placement year in the core development division, on legacy and new systems in ASP.NET, Silverlight, WPF and SharePoint, working Agile","Meridio was acquired by Autonomy in October 2007, mid-placement","My mentor Stuart had me read Code Complete by Steve McConnell in my first week, what a start to a career in programming. Coding horrors, if you know you know","A colleague's 2008 LinkedIn recommendation: 'very fast learning and committed developer ... pure pleasure to work with'"],"location":"Belfast","name":"Autonomy Meridio","position":"Associate Software Developer","startDate":"2007-06-01"},{"endDate":"2008-08-31","highlights":["Two-month contract on process automation and compliance for a magnetic-tape system, done in UNIX scripting"],"location":"Belfast","name":"Ulster Bank (RBS)","position":"Technical Specialist","startDate":"2008-06-01"}]}