Hi, I'm David Fishlock. I build Web, Mobile, and Desktop applications.

I use these things:

  • React
  • Redux
  • TypeScript
  • Next.js
  • Vue.js
  • UWP
  • WPF
  • C# / XAML
  • MVVM
  • NodeJS
  • Python
  • Docker
  • REST APIs
  • Bot Framework
  • Github / Azure DevOps

And my experience in:

  • UI Development
  • UX Design
  • Project Management
  • Agile Scrum / Kanban
  • Localization
  • Accessibility

To build things like:

  • Coconut Accounting Portal

    Coconut Accounting Portal screenshot

    Coconut produces software that helps self-employed people track income, send invoices, categorise expenses, and work out how much tax they owe in real-time. The service utilizes open banking and OCR receipt scanning to facilitate fast and reliable bookkeeping. The web application is built using React and Typescript. React Query is used to optimise data caching between client and server.

    Technologies:

    • React
    • REST APIs
    • TypeScript

    View Coconut website

  • Reef Doctor UVC Training

    Reef Doctor UVC Training screenshot

    Reef Doctor is a marine conservation organisation specializing in coral reef restoration. Volunteers need to be trained in visual identification of species prior to surveying of the local coral reef systems. The Reef Doctor UVC training application provides training in species identification to staff, as well as providing a browsable catalogue of species in the local area. The application is built using Next.js for optimal performance. Species data is stored within a serverless mySQL database and exposed via a RESTful API and Prisma ORM.

    Technologies:

    • Next.js
    • React
    • REST APIs
    • TypeScript

    View Reef Doctor website

    Reef Doctor GitHub repository

  • Todoist Windows Client

    Todoist Windows Client screenshot

    Todoist is a productivity-focused service that allows users to track and manage their tasks. The Windows client was built using Microsoft's Universal Windows Platform (UWP). This application had complex requirements for offline data synchronization, and utilized SQLite and Entity Framework to store data locally. I was tasked with the implementation of a number of new product features, general improvement of the user experience, and optimizing application performance.

    Technologies:

    • UWP
    • C# / XAML
    • MVVM

    Download Todoist Windows Client

  • Weather View

    Weather View screenshot

    Weather View is a simple weather app, exposing data provided by the Open Weather APIs. This application is built using React and the Tailwind CSS framework. Mapping and graph visualizations are integrated using the Leaflet and react-vis libraries.

    Technologies:

    • React
    • TypeScript
    • REST APIs

    Launch Weather View

    Weather View GitHub repository

  • Todoist Developer Portal

    Todoist Developer Portal screenshot

    The Todoist developer portal provides documentation for the service's public API endpoints, and a management console for applications developed on the platform. The app management console is built with React and Redux Toolkit. Documentation and code samples are auto generated from markdown files, with deployment of updates handled automatically through GitHub actions.

    Technologies:

    • React
    • Redux
    • TypeScript
    • REST APIs

    View Todoist Developer Portal

  • Sigray3D

    Sigray3D screenshot

    The Sigray3D app acts as a remote controller for the company's 3D X-ray microscopy hardware. This application was written using Microsoft's UWP framework and utilizes native image processing libraries for maximum performance and live streaming of image data from the hardware.

    Technologies:

    • UWP
    • C# / XAML
    • MVVM

    View Sigray3D website

  • Authink

    Authink screenshot

    Authink is a fun educational environment for children with autism to learn key skills either at home or in the classroom. The application guides learning through a number of fun games and interactive tasks, and is developed using Microsoft's UWP framework.

    Technologies:

    • UWP
    • C# / XAML
    • MVVM

    View Authink in Microsoft store

  • Index Cards

    Index Cards screenshot

    Index Cards takes a unique approach to task management and learning, replicating the feel of stacks of physical Avery cards. The application also enables printing of the cards to Avery media stock for real-world applications like speech writing or recipe organization. This application was written using Microsoft's UWP framework, with data managed with SQLite and Entity Framework.

    Technologies:

    • UWP
    • C# / XAML
    • MVVM

    View Index Cards in Microsoft store

  • Todoist Typescript SDK

    Todoist Typescript SDK screenshot

    The Todoist SDK simplifies development with the Todoist platform by reducing the complexity of authenticating and making requests to their REST APIs. The SDK provides full typings for all entities and request parameters and validates all responses using runtypes to ensure full type safety.

    Technologies:

    • TypeScript
    • REST APIs

    View Todoist SDK on NPM

    Todoist SDK GitHub repository

  • Todoist Python SDK

    Todoist Python SDK screenshot

    The Todoist Python SDK simplifies development against the Todoist platform with the Python programming language. The SDK provides both synchronous and asynchronous clients for making transactions to and from the Todoist REST APIs.

    Technologies:

    • Python
    • REST APIs

    View Todoist SDK on PyPI

    Todoist SDK GitHub repository

  • OpenWeather Typescript SDK

    OpenWeather Typescript SDK screenshot

    This SDK is used in my Weather View application. The SDK includes a wrapping client and typing for Open Weather's OneCall API. The SDK also provides Geocoding for city-based Geoposition lookup.

    Technologies:

    • TypeScript
    • REST APIs

    View OpenWeather SDK on NPM

    OpenWeather SDK GitHub repository