Skip to content
FriendlyUser

00 Vancouver, BC

00Vancouver, BC

Hi, I'm David.

I build software, blog about it, and deploy tools for investing.

Software developer with eight years across startups, insurance, construction data and the public service. I like data pipelines, AI-assisted tools and interfaces that make complicated work feel simple.

> initializing environment...

> loading core_skills.sh

[OK] Advanced LLM usage & prompting

[OK] Data pipelines, OCR & automation

[OK] Front-end architecture

[OK] Robust back-end systems

> ready

See the workRead the blog (556 posts)

01Foundations2018 – 2021

Blueprints first.

Software Developer · Stealth Startup

Computer engineering at UVic, then a fintech startup building mortgage questionnaires, integrations and mobile apps.

  • B.Eng. Computer Engineering, University of Victoria (class of 2019), with industry co-op terms.
  • Built a branching online mortgage questionnaire in React and Next.js.
  • Integrated third-party REST APIs, extended a Laravel API and wrote Postgres migrations.
  • Shipped React Native updates and tested Node.js services with Postman and Jest.
  • React
  • Next.js
  • React Native
  • Node.js
  • Laravel
  • PostgreSQL
  • MongoDB
  • AWS
  • Jest

02Marketplace2021 – 2023

Search that moves.

Software Engineer · carSHAiR · Remote, BC

Led the web team of a peer-to-peer car sharing marketplace, from search and maps to booking flows.

  • Rebuilt map-based search in Next.js and TypeScript with URL state and modern data fetching.
  • Modelled booking and trip-extension flows as XState state machines.
  • Built REST endpoints in TypeScript and shipped React Native features for iOS and Android.
  • Reviewed pull requests and coordinated releases as web team lead.
  • TypeScript
  • React
  • Next.js
  • XState
  • React Native
  • Node.js
  • Sass
  • Elasticsearch
  • Rollbar

03Construction data2023 – present

Turning permits into data.

Software Engineer · Yellowsheet Construction Data · Remote, BC

Modernizing a construction-intelligence platform and automating how permits and tenders become searchable listings.

  • Built a Python and FastAPI ingestion service for 20+ BC municipalities: pdfplumber parsers, OCRmyPDF on Cloud Run, and Gemini for the hardest reports.
  • Automated tender and permit collection from 20+ public sources on scheduled GitHub Actions, with AI project-type classification and alerts.
  • Modernized a legacy PHP codebase with Docker, centralized logging, Playwright tests and Stripe billing.
  • Added SSO and data sync with a companion permits app, plus Typst-generated building-permit reports.
  • Python
  • FastAPI
  • PHP
  • MySQL
  • Gemini
  • OCRmyPDF
  • pdfplumber
  • GitHub Actions
  • Stripe
  • Playwright

04Claims AI2024

Documents, unfolded.

Software Engineer · Royal Claims · Vancouver, BC

Built AI document analysis and internal tools for insurance claims.

  • Integrated OpenAI to parse and analyze claim documents and pre-fill forms from email.
  • Built claim forms, report generation with python-docx, and SOAP integrations with Zeep.
  • Ran Django migrations and SQL Server analysis; deployed Azure Functions and Blob Storage.
  • Python
  • Django
  • OpenAI
  • Azure
  • SQL Server
  • Tailwind CSS

05Public service2025 – present

Software for the public service.

Software Developer (IT-02) · Canada School of Public Service · Vancouver, BC

Building and modernizing internal tools, from Vue and Laravel apps to AI search and chat.

  • Migrated Laravel + Vue 2 applications to Vue 3 and Element Plus, and upgraded a Quasar app to v2 with French search.
  • Worked on a LangChain chatbot on Azure OpenAI and an Azure AI Search index of federal regulations.
  • Ported a scraper to a C#/.NET API published through Azure API Management.
  • Maintain Power Apps tools and keep dependencies and security fixes current with GitHub Copilot.
  • Vue 3
  • Laravel
  • PHP
  • C#/.NET
  • Azure
  • LangChain
  • Power Apps
  • MySQL

06Writing & tools556 posts

Hundreds of posts, one sky.

Each star is a post on this blog, grouped by topic. Hover or focus a topic to light up its constellation.

Latest posts

  1. Rebuilding FriendlyUser: A Three.js Homepage and a Starlight Blog
  2. Beyond the Whale: The Architecture, Trade-Offs, and Implementation of Post-Docker Container Frameworks
  3. Revolutionizing Web Performance: Using Gemini 3.1-Pro-Preview for AI-Generated SVGs
  4. Advanced Git - Cherry-picking, Merge Strategies, and Release Management
  5. Replicating Laravel's Crypt::decryptString Logic in Python
  6. AI Training Platforms Compared: Outlier vs. Appen vs. Aligner - Why the Newcomer Wins in 2025

All 556 posts →

Investing tools dli-invest

Projects

07Contact

Let's build something.

Open to interesting problems in data, AI tooling and web development.

Skills

Languages
Python · PHP · TypeScript · JavaScript · C# · SQL · Go · Rust · Java · Kotlin · Dart · C++ · TeX
Frontend
Vue 3 · Quasar · React · Next.js · React Native · Flutter · Astro · Tailwind CSS · Sass
Backend
Laravel · FastAPI · Django · Flask · .NET Web API · Node.js · Spring Boot · REST & OpenAPI · SOAP
AI & data
Gemini · OpenAI / Azure OpenAI · LangChain · Azure AI Search · pandas · spaCy · NLTK · pdfplumber · OCRmyPDF · Streamlit
Automation
Browser automation · BeautifulSoup · GitHub Actions · Scheduled pipelines · Discord alerts
Data stores
MySQL / MariaDB · SQL Server · PostgreSQL · Cosmos DB · MongoDB · Elasticsearch
Cloud & DevOps
Azure · Google Cloud Run · AWS · Docker · IIS · Linux · Railway
Testing
pytest · Playwright · PHPUnit · Jest
Low-code
Power Apps · Microsoft Lists · Dataverse
AI-assisted dev
Claude Code · GitHub Copilot · Prompt engineering