We live in a world full of complex machines.
And we have complex human challenges.

We must use technology carefully,
to assist people and ecologies to return to balance,
to provide humane and equitable care,
to offer appropriate and context-sensitive help.

We should do so in ways that are economically and ecologically viable.
We can't afford to distract or manipulate peoples' attention.

Clarity comes from Nature

From quiet places in the wild

Slow and deep breathing

A clear diet

All our best ideas

Hopes, dreams and inventions

Come from this place

Full Stack Software Development

"As much as software engineering is about machines, it is also about people."

  • Architecting highly usable user interfaces across platforms
  • Touch-screen and User Interaction design and flow
  • Machine Learning and Natural Language Processing
  • Audio, video and digital signal processing
  • Real-time location-based services
  • GIS and mapping systems
  • Medical tech, HIPAA compliance, privacy, security and authentication systems

Technical Skills

Cross-Platform Mobile Development React Native, .NET MAUI, C#, Swift / SwiftUI, Objective-C, UI/UX development, Device features (GPS, photos, maps, notifications), 3rd party library integrations, Profiling and Optimization
Machine Learning PyTorch, Transformers, Speech, Vision, Text and Structured Data Transformation Pipelines, Open VLMs/LLMs, Semantic Embedding and Search, Vector DBs
Frontend Development React, Angular, HTML5 / CSS3 / JS / TS, Frontend Optimization, TDD (Jasmine, Selenium)
Backend Development Python, Celery, Redis, Node.js, MySQL / PostgreSQL / SQL Server, Django
Patterns REST, SOAP, AJAX, TDD, MVC, Grand Central Dispatch, async/await, blocks and closures, factory patterns, composition, inheritance, concurrency, web workers, locking and lock-free designs
Tools / Platforms VS Code, XCode, Copilot, Jira, TestFlight, Slack, Git, Docker, CI/CD, AWS, Heroku, Firebase, Jupyter
GIS Tools QGIS, OSM, ogr2ogr, SpatiaLite, PostGIS, Qgis2threejs

Soft Skills

I am a technical person who understands business.
I am a programmer who gets users.

  • I am an innovator: A creative person whose relationship with Nature helps me see the big picture and a simpler way forward.
  • I am resilient: Always adapting creatively to challenges and change.
  • Strong facilitation skills. Training in compassionate communication, team work, critical conversations, and presentations.
  • Good conflict resolution skills. I practice working with tension between people by listening for needs and feelings.
  • I explain complex things in plain language. I hear the real concerns of people outside the technical. I bridge diverse stakeholder perspectives across your organization.

2015-present

Mobile Team Lead, Resilience Software

Resilience builds best-in-class medical systems for surgeons and medical students, that help improve student learning and patient outcomes.

I've worked with them over 10 years developing innovative logbook and assessment tools for medical training programs.

  • Conceived of, designed and engineered Form Fill Assistant, a new machine learning feature to automatically fill in medical forms based on dictations, images and text.
  • Engineered ML pipelines using best-in-class tools (Open STT, Vision and Text LLMs, Semantic Embeddings, Vector DB)
  • Managed and mentored a developer to develop his talent, build and scale the feature from prototype to production
Chart 1
  • Developed cross-platform mobile apps for medical training
Chart 3
  • Conceived of, designed and engineered Intelligent Insights, a flexible data analysis engine
  • Integrated configuration by voice and text for interactive charts
Chart 2
  • Interviewed, hired, managed and mentored developers
  • Continuously improving security, accessibility, and notifications

From complex, high performance reporting calculations in the backend, to distributed worker coordination (both human and digital), to dynamic client applications (both native and js), Mark consistently proves he is up for a challenge.

I had the pleasure of working with and leading Mark during his time at Resilience Software as a contractor and found him considerate, conscientious, innovative, and pragmatic. As a consummate polyglot, his adaptability when it comes to tech stack and problem domain has proven of immeasurable value when working in an extremely agile organization.

He's a pleasure to lead thanks to his results focused approach and his comfort with full feature ownership and accountability. I'm positive he will contribute the same technical advancement to any organization lucky to have him.

Simon Laalo

Technical Lead

2014-present

Inventor / Engineer, Search Beacon

Search Beacon
  • Built a mobile app prototype that matches and connects people together based on shared needs.
  • Leveraged leading edge AI models, such as transformer-based LLMs (BERT, BLOOM, GPT-3), semantic embeddings (S-BERT) and Diffusion Models, to understand peoples' needs and connect them in real-time.
  • Implemented a cross-platform app prototype using Expo / React Native [front-end], Node.js / Express [backend], and Python / PyTorch [machine learning services].

2018-present

3D GIS Mapping of BC

Layered geological, ecological, oceanic, indigenous, biodiversity and land use spatial data into a GIS system and built custom interactive 3D maps for field work and navigation.

GIS Mapping
GIS Mapping
  • 3D mapping with GPS geolocation on a mobile device while offline.
  • Processing large geo-spatial datasets.
  • Finding mountains, forests, backroads, trails, vegetation cover, lakes, streams, oceans, ocean currents, kayak routes, wildlife and plant occurrences, private property, indigenous traditional territories, fishing and hunting areas, while in the field, without access to the Internet.

2012-2014

Senior App Engineer, Teligence Inc

Teligence Teligence
  • From a hut in the Amazon jungle, built an online dating App (iOS, real-time, GPS)
  • Built a unified platform with three global brands and feature sets.
  • Clearly communicated with the team online via Skype, Jira.
  • Rebuilt the legacy App for smooth clean user experience.
  • Worked with REST APIs while off-grid by extending a Node.js proxy server.
  • Did it on budget.

Mark is an exceptional iOS app developer. I've worked with a number of developers who have worked remotely and few have been as easy to work with and as conscientious as Mark.

Sean Ryan

Product Owner

2014-2015

Senior Web Developer, Pixel Union

  • Built an intelligent engine that uses natural language processing and search engine data to discover insights into what customers are looking for and how to optimize the wording of products.
Pixel Union
Pixel Union
  • Built a next-generation dashboard UI using Angular JS, HTML5, and SASS / CSS3, for rapid development of product ideas.
  • Built a robust back-end database, with administration, that stores customer insights.
Pixel Union
Pixel Union
  • Built the back-end from the ground up using Python, Django, Django Rest Framework, Redis, Celery, Pusher, and PostgreSQL.
  • Integrated with Shopify and Google Analytics APIs.
Pixel Union

2011-2012

Senior App Engineer, SMART Technologies

  • Part of a small, focused team, I built SMART's next generation mobile learning platform, for iPad and web.
SMART Technologies
SMART Technologies
  • We built a modular, object-oriented, write-once codebase leveraging both web and mobile technologies (iOS SDK / HTML5 / Javascript / CSS3 / SVG).
  • Design and implementation for lesson and page navigation, draw tools (multi-touch pen, text editor), iOS/WebView communication APIs, asynchronous document storage, emailing, embedded links.
SMART Technologies
SMART Technologies
  • I worked closely with Product Management, UX Designers, and visited schools to learn about our customers first-hand.
  • I mentored junior developers, challenging them and encouraging excellence.
  • I optimized HTML5 vector graphics using GPU acceleration for smooth motion.
  • I built a performance test framework graphing the speed of key features (render, load, and layout times)
SMART Technologies

Mark is an incredibly talented developer. He constantly strives for and achieves excellence at all levels of his work, and he possesses a rare ability to see beyond the bounds of the current problem to the larger issues surrounding the products he works on.

Christopher Fedak

Principal Software Engineer

2009-2011

Lead Engineer, Userful Corporation

Userful
  • Working in an agile team, I developed the next-gen Multi-Seat computing solution for schools, businesses, and governments.
  • As user interface lead, I developed a web-based tool for managing stations in real-time.
  • As project lead, I mentored junior developers and worked with management to clarify business use cases.
  • Using Java, Python, GWT, and HTML/CSS, I developed our frontend layer, server-side logic, build system, and Selenium tests.
  • I established best practices around internationalization, localization tools, and usability.

Mark played a key role in creating a new user-friendly UI for the company's flagship product. He is a good team worker, and a take-charge person who is able to present creative ideas and communicate the benefits with people at various levels in the company.

Roger Zhang

Senior Product Manager

2005-2007

Lead Engineer, Unity Organ Systems

Unity Organ
  • Developed pipe organ software for large organ installations.
  • Created a rock-solid Linux audio engine that an organist can play.
  • It simulates the sound of wind-blown pipes and delivers it to a multichannel speaker array.
  • Developed a rich organist user interface that was easy-to-use for non-technical musicians.
  • Managed all aspects of development, from low level hardware interfacing to high level UI and real-time signal processing.

2006-2008

Lead Engineer, Be The Game Inc

Be The Game
  • Spent two years building a groundbreaking real-time interactive music teaching application (Objective-C, C++, Mac OS X)
  • Created an elegant GUI with live rendering of player hands and a live scrolling score display
  • Developed algorithms for real-time music data processing and adaptive recognition of music parts.

1999-2009

Inventor & Engineer, Freewheeling

Freewheeling
  • Conceived of and developed Freewheeling, an open-source live composition environment for musicians.
  • Developed a unique, flexible engine that makes recording, overdubbing, and arranging loops seamless and easy for a live musician.
  • Developed a mobile version with a USB LCD display.
  • Continuously responded to user suggestions and implemented new design ideas.
  • Featured twice in Linux Journal magazine.

1999-2000

Java UI Engineer, Java Mail

Java Mail
  • Working on a 10 person team, built a Java web app messenger with rich multimedia tools.
  • Created / optimized paint tools (draw, text, fill, animation, edit).

1998

Co-op Software Developer, DCIEM

DCIEM
  • Work on a helicopter pilot training simulator.
  • Working with pilots, redesigned the motion platform to more accurately mimic the way a helicopter responds in the air and on touchdown.
  • Refined 3D graphics models and animations, using GNU C++ and OpenGL on SGI machines.

1996

Co-op Software Developer, CAE

  • Implemented live satellite weather graphics onto an air traffic map.
  • Redesigned and optimized the display system so that the entire air traffic of North America could be viewed at once.
  • Created a TCP/IP link to a live satellite feed providing aircraft position.
  • Demoed the system to FedEx and CAE won the contract.

I've worked with dozens of co-op students over the years, and Mark stands out as perhaps the most brilliant one I've ever worked with. The speed with which he grasped the complexities of CAE's Air Traffic Management software, followed by the scope and quality of his software development contribution surpassed many of the full-time developers we had on staff.

Manoj Prasad

Senior Software Engineer

Contact me to schedule a conversation

about your project!

Get in Touch

I look forward to hearing from you