Simon Flack, Developer in Jelenia Góra, Poland
Simon is available for hire
Hire Simon

Simon Flack

Verified Expert  in Engineering

Bio

Simon has 20 years of professional experience as a web developer and has worked for world-leading media, financial, and transport organizations such as the BBC and IG. Over the years, he has used his skills in JavaScript, PHP, and Perl to deliver robust front-end and full-stack applications with a variety of frameworks and libraries. Simon advocates for a strong testing strategy as a key component for maintaining high-quality software and encourages consistency and best practices.

Portfolio

Arena Labs, Inc
HTML, JavaScript, CSS, HTML5, React, Python, Docker Compose, Tailwind CSS...
OnTrack Retail
Sass, Less, Git, Bash, MongoDB, Jest, Docker, XState, Redux, Webpack...
IG
Subversion (SVN), Raphaël, Handlebars, jQuery, JavaScript, Regular Expressions...

Experience

  • Linux - 20 years
  • HTML5 - 12 years
  • JavaScript - 10 years
  • Perl - 10 years
  • React - 9 years
  • Node.js - 7 years
  • PHP - 4 years
  • Jest - 4 years

Availability

Full-time

Preferred Environment

Firefox, Chrome, Visual Studio Code (VS Code), Git, Linux, HTML, XState, Bash, TypeScript, Express.js, Front-end

The most amazing...

...challenge was reverse-engineering software to extract data from the BBC Domesday Project, a historic census from 1986, stored on laserdisc in a custom format

Work Experience

Full-stack Developer

2021 - 2024
Arena Labs, Inc
  • Built a web app with Next.js, and later, when mobile became a requirement, I released it in iOS and Android app stores using Capacitor.
  • Mentored front-end and back-end developers and led by example in terms of code quality and best practices. I created documentation and educational videos to help ensure we were all rowing in the same direction.
  • Created a suite of GitHub Actions to help automate our release processes, as well as ad-hoc maintenance functions like in-app service status notifications and third-party resilience.
  • Paired with a newly hired QA engineer to help set up automated tests for our app.
  • Worked closely with the designers, product owner, and project manager to ensure that projects were properly scoped and we could deliver on requirements.
  • Created a Capacitor plugin to interface with a Bluetooth biometric device. I wrote a clean asynchronous API and implemented both Swift and Java versions for iOS and Android. The plugin handled concurrency via queues, with error handling and full logging.
  • Integrated with 3rd parties so that we had full visibility on app usage and over-the-air app updates.
  • Built reusable libraries and design patterns to prevent code duplication and actively reduced technical debt, allowing our team to remain agile and flexible.
Technologies: HTML, JavaScript, CSS, HTML5, React, Python, Docker Compose, Tailwind CSS, Ionic, Technical Leadership, iPad, PostgreSQL, API Integration, Email Automation, Chatbots, Mobile Development, Front-end, User Experience (UX), User Interface (UI), Full-stack Development, Back-end, Infrastructure as Code (IaC), Scraping

Senior Front-end Developer

2015 - 2021
OnTrack Retail
  • Developed a responsive retail ticket sales platform for a company operating five of the UK's railway network franchises.
  • Created responsive web applications for customers to apply for compensation for delayed journeys according to the national delay repay scheme.
  • Designed and built a MongoDB-backed API to quickly and efficiently querying train timetables and validate customer-entered journeys.
  • Created a self-service ticket refunds feature for customers.
  • Extracted core functionality from the existing app so that it could be re-used to quickly bootstrap new products and services that talk to our APIs.
  • Improved developer tooling, simplifying repetitive tasks and speeding up Travis build times.
  • Mentored junior developers and helped to share domain knowledge.
Technologies: Sass, Less, Git, Bash, MongoDB, Jest, Docker, XState, Redux, Webpack, TypeScript, AngularJS, React, Node.js, Test-driven Development (TDD), API Design, JavaScript, Express.js, Redis, Regular Expressions, Webpack 4, Gulp, NGINX, Visual Studio Code (VS Code), Chrome, HTML, SQL, CSS, Debugging, MySQLdb, Handlebars, Accessibility, HTML5, Architecture, Web Development, REST, Google Analytics, Integration, Braintree SDK, PayPal, Web Scraping, Next.js, UI Testing, Algorithms, Full-stack, MySQL, Webpack 3, SSH, Webpack 2, APIs, Capacitor, Mobile Apps, Docker Compose, Amazon Web Services (AWS), API Integration, Azure, Front-end, User Experience (UX), User Interface (UI), Full-stack Development, Back-end, Infrastructure as Code (IaC), Data Scraping, Scraping

Senior Front-end Developer

2014 - 2015
IG
  • Conducted telephone screening and in-person technical interviews for the position of junior and senior developers.
  • Developed a UI for investors to interactively filter thousands of markets using fundamentals and other criteria.
  • Refactored custom server-rendered pages to share front-end templates.
  • Initiated weekly tech meetups for other team members to share interesting tech news and innovative processes.
  • Worked with iOS and Android teams to fix issues in embedded web views.
Technologies: Subversion (SVN), Raphaël, Handlebars, jQuery, JavaScript, Regular Expressions, Gulp, Chrome, HTML, Node.js, CSS, Debugging, Bash, HTML5, Web Development, Integration, Algorithms, Grunt, SSH, Capacitor, Mobile Apps, Content Management Systems (CMS)

Front-end Developer

2010 - 2014
BBC
  • Developed the front end for custom CMS document repository and filtering.
  • Implemented instant and scheduled publishing interfaces according to design.
  • Translated business requirements into BDD tests and built monitoring tools to highlight failing tests.
  • Supported legacy CMS platform and created migration tools for the new platform.
  • Created a visual "segments editor" for media publishers to generate thumbnails and short clips as part of a media publishing pipeline.
  • Built a schedule builder to create timetables and assign program metadata to multiple live streams as part of the London 2012 Olympics programming.
  • Created and maintained plugins for a custom publishing workflow.
  • Built a multi-file upload component capable of handling very large media files, supporting resumes, and reporting back transcode status.
Technologies: Sass, Less, Behat, PHPUnit, Jasmine, Zend Framework, PHP, jQuery, Backbone.js, JavaScript, Perl, Regular Expressions, Gulp, Chrome, HTML, CSS, Debugging, Bash, HTML5, Web Development, REST, Integration, UI Testing, Full-stack, Apache2, Behavior-driven Development (BDD), Grunt, SSH, RSync, APIs, Docker Compose, Content Management Systems (CMS)

Software Engineer

2002 - 2010
BBC
  • Worked with production teams to develop interactive websites using custom tools.
  • Designed and developed a desktop CMS application with an Oracle-backed SOAP server for managing, transforming, and publishing vast repositories of XML content.
  • Developed an FTP interface to simplify bulk import and export of content.
  • Published the organization's first open-source contributions and ported the Document and View framework in wxWidgets to wxPerl.
  • Embedded Internet Explorer for in-editor CSS-based preview and full XSLT preview of the content.
  • Implemented common editor functions such as in-editor find and replace, cross-repository find and replace, and spell-check.
  • Demoed new features on a monthly basis and incorporated user feedback into future releases.
  • Completed a Bayesian analysis of 45,000 articles for categorization in the People's War Archive.
  • Recovered data from Laserdisc in legacy format for the BBC Domesday Reloaded project.
Technologies: OLE, ODBC, Oracle, XSLT, XML, wxWidgets, CSS, HTML, Perl, Regular Expressions, Debugging, MySQLdb, HTML5, Architecture, Web Development, Web Scraping, UI Testing, Full-stack, Apache2, SSH, RSync, APIs, Content Management Systems (CMS), Email Parsing, Email Automation, Full-stack Development, Back-end

Experience

Booking Engine

https://ticket.greatnorthernrail.com
A React-based train ticket eCommerce app for planning journeys, purchasing tickets, and processing refunds. The app is used by five train operators, supports tens of thousands of visitors, and has several hundred thousand GBP in transactions on a daily basis.

Delay Repay Compensation

https://delayrepay.southeasternrailway.co.uk/
A statically-rendered react app for customers to apply for delay repay compensation after experiencing delays to their journey in excess of 15 minutes. The application is streamlined for returning customers and guides users through the required information. The application logic is modeled with statecharts using XState for improved flexibility, and maintainability.

Darwin

A MongoDB-backed API for querying trains timetables to find details of trains that users traveled on as part of their delay repay claim application. A scheduler pulls the daily timetable XML from Amazon S3 every morning and ingests the data after processing it so that it can be queried quickly and efficiently.

Market Screener

https://www.ig.com/uk/markets-stock-screener?country=GB,US
A tool for investors to create, save, and edit custom filters for investment opportunities. Written with vanilla OO JavaScript, SVG, and custom in-house framework. It was designed to work well on desktops and tablet devices.

FLiP - Factual and Learning Interactive Publisher

A desktop and server application for editing and publishing large repositories of XML. Written in wxPerl, using wxWidgets for the UI, and interfacing with LDAP for authentication and OLE for embedding Internet Explorer. SciTE. Used SOAP and FTP as primary protocols, and supported multiple repository back ends including filesystem and Oracle.

Arena Strive

http://arenalabs.co
I was the lead engineer focusing on the front end. As a team, we worked together to deliver a mobile app for frontline clinicians. I coordinated with designers and product owners to ensure everything was clearly scoped. I built a lot of core functionality and provided guidance to other developers in the form of code reviews, pair programming, and weekly "tech jams," where we would explore different problems and potential solutions. I wanted to make sure we were ready to deliver what was needed while still keeping everything clean, well-documented, and understood.

I also helped build internal tooling for coaches, as well as automation for things like releases, maintenance, and analytics.

Skills

Libraries/APIs

Node.js, React, jQuery, Backbone.js, Handlebars, Raphaël, wxWidgets, ODBC

Tools

Git, Webpack 4, Webpack 3, Capacitor, Webpack, Gulp, Grunt, Webpack 2, Braintree SDK, NGINX, Subversion (SVN), Behat, Google Analytics, Docker Compose

Languages

JavaScript, Perl, TypeScript, CSS, HTML, HTML5, Less, Sass, XML, PHP, SQL, Bash, XSLT, Python, Objective-C, Swift, Java

Frameworks

Jest, Express.js, Next.js, AngularJS, React Native, Ionic, Chrome, Redux, Zend Framework, Jasmine, PHPUnit, Tailwind CSS

Paradigms

Test-driven Development (TDD), REST, Mobile Development, Behavior-driven Development (BDD)

Platforms

Vercel, Linux, Docker, Apache2, Amazon Web Services (AWS), Android, iOS, Firefox, Oracle, Visual Studio Code (VS Code), Azure

Storage

Amazon S3 (AWS S3), MySQL, MySQLdb, MongoDB, PostgreSQL, Redis

Other

Regular Expressions, API Design, Debugging, Full-stack, Web Development, Architecture, Web Scraping, APIs, Content Management Systems (CMS), Technical Leadership, Software Architecture, API Integration, Email Automation, Front-end, User Interface (UI), Full-stack Development, Back-end, Data Scraping, Scraping, Data Enrichment, UI Testing, Algorithms, RSync, SSH, XState, Accessibility, Integration, PayPal, Large Language Models (LLMs), iPad, ChatGPT API, OpenAI, Bluetooth, Email Parsing, Chatbots, User Experience (UX), Infrastructure as Code (IaC), OLE, Mobile Apps, Videos, Zustand

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring