Hello

I'm a developer specialising in custom hybrid web and mobile apps since 2015. Most experienced with Javascript and its popular libraries, but an advocate for using the right tools for the job.

Please have a look at a few of the projects I've worked on recently.

me

Fish Tank

Fish Tank was a childrens entertainment platform for a restaurant. Children could customise their own fish and add it to a virtual aquarium and watch it swim around. It combined three applications: a backend containing the state of the tank and statistics on usage, an Unreal Engine-based 3D fish tank displayed on multiple wall-sized monitors, and a React web application using Three.js which allowed the children to customise their fish, change colours, and add accessories

  • I built the web application with React integrating a custom Three JS scene. Using React to build the UI helped to speed up the process instead of building a full 3D application from scratch.
  • Using JSON we could send the updated fish models to the backend via RESTful APIs, this allowed us to treat the scene with similar logic to the Unreal Engine-based multipanel display.
  • All 3D interactions of the fish and objects was done via scene querying, while all 2D navigations were implemented with React.
  • By preloading the 3D models on app start we could prevent any load time or delay when using the app.

Unido

A cross-platform cryptocurrency application tailored for businesses. Featuring multi-user access and multi-signature capabilities. This solution allowed multiple members to view and interact with each wallet, with transactions only executing once a specified threshold of approvals was obtained from designated signatories

  • The application was built using React and Ionic Frameworks to provide a single code base for Web, Android, and iOS platforms, including native component styling for relative platforms.
  • Used React Query to simplify data caching of APIs. and speed in loading pages.
  • We built in a fully i18n-compliant localisation to ensure a smooth transition to other regions in the future.
  • All models were defined as typescript interfaces to guarantee consistency of the data flow inside the application.
  • All components were mockable with > 80% unit test coverage using Jest.
  • Tests and linters were added to pre-commit and pre-push hooks to run locally before committing to the repository. This makes git history much cleaner and reduces the cost of cloud workers.

Logistics Dashboard

A custom dashboard application for a logistics company. This React application acted as a centralized hub to help standardize workflow and data interchange for their supply team, this substantially reduced or often eliminated manual steps and ad hoc processes.

  • React component based architecture allowed custom layouts based on roles and authentication of user.
  • Implemented leaflet mapping to display interactive geoJSON data of locations and areas.
  • D3.js for the charts and graphs to display dynamic reports in real time.
  • Implemented custom Gantt style chart with drag and drop interactivity for overview of scheduling.
  • React query was used to cache the API data and also periodically trigger re-polling. When we know we have updated / invalidated the cached calls we could also simultaneously invalidate the cache, triggering the necessary refresh.

Nomos

A cross-chain asset management built on blockchain smart contracts

  • A NextJS-based project was built using strict TypeScript configuration with 100% type safety and no "any" allowed.
  • React Query-based server and Jotai-based state management.
  • Heavy use of custom hooks for separation of UI and business logic.
  • Utilized debounce to support real-time on-chain queries and implemented an Optimistic UI strategy to improve the perceived speed of the app during blockchain transaction requests.
  • Used both RESTful and GraphQL APIs for different data sources.
  • The application was built as a Progressive Web App (PWA).
Reach meLinkedIn