GeezerVison is showing friendlyuser.github.io — David Li — Software Developer | FriendlyUser
00 Vancouver, 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 work Read the blog (561 posts)
Scroll
01 Foundations2018 – 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 2018
02 Marketplace2021 – 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 2021
03 Construction data2023
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 2023
04 Claims 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 2024
05 Public 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 2025
06 Writing & tools561 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 Nov 7, 2026 Docker and Local Dev Environments Nov 7, 2026 Maintaining a Legacy PHP Codebase Nov 7, 2026 Building Afterlight, a 2D-HD JRPG, with Claude Code Nov 6, 2026 Rebuilding FriendlyUser: A Three.js Homepage and a Starlight Blog Jun 30, 2026 Beyond the Whale: The Architecture, Trade-Offs, and Implementation of Post-Docker Container Frameworks Feb 22, 2026 Revolutionizing Web Performance: Using Gemini 3.1-Pro-Preview for AI-Generated SVGs All 561 posts →
Projects 07 Contact
Let's build something. Open to interesting problems in data, AI tooling and web development.
Skills Python TypeScript JavaScript PHP Laravel Vue React Node.js Go Rust Java Flutter Android Docker AWS Microsoft Google Linux Git GitHub Stripe OpenAI Claude Tailwind CSS Sass HTML5 CSS Markdown
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 · ASP.NET · .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