Michael Pearce's repositories
fingerprint-defender
Firefox browser extension that helps users resist browser fingerprinting by generating a realistic, randomized browser identity for each session.
street_ninja
Code base for Street Ninja, an SMS-based application designed to help homeless people in the city of Vancouver access essential resources.
typed-api-response
A lightweight, fully type-safe API response builder for Python.
Stegosaurus
Steganography tool using LSB (least significant bit) encoding and AES encryption with PBKDF2 for key generation. Written in C#
BlockchainExplorer
Simple blockchain explorer app built for the purpose of interacting with my BTCPayServer node and learning C#
ninja_brain
Machine learning NLP microservice for Street Ninja. Parses incoming SMS messages and extracts structured entities like location, resource, and qualifiers using a spaCy-trained NER model.
useragent-one
API to access realistic user agents from the user-agents package in the browser – no Node.js required.
dev-portfolio
My personal developer portfolio. A space to showcase my work, blog, and résumé.
lukio
Lukio: A lightweight script for mounting and unmounting LUKS encrypted volumes using backends like zuluCrypt, cryptsetup, and udisksctl.
municipalities-bc
A reusable list of British Columbia municipalities in JSON and Python Enum formats.
nikki
NikkiRacing web application
ninja_crawl
FastAPI-powered scraping engine that transforms raw HTML and PDF into structured JSON. Built to gather data for the Streetlight-API, and the Street Ninja ecosystem..
ninja_gate
A fraud prevention and cost mitigation microservice for the Street Ninja ecosystem.
pdf-ninja
A flexible, layout-aware PDF parsing toolkit that extracts text, tables, and metadata into structured JSON for AI, RAG, and data-analysis pipelines.
repo-rag
RAG-powered search engine for your personal codebase.
sninja
CLI tool for managing the Street Ninja app
street_ninja_common
Shared utilities for Street Ninja ecosystem
street_ninja_ner
A prototype Named Entity Recognition (NER) system for parsing SMS queries in the Street Ninja project. Extracts resources, addresses, intersections, landmarks, and parameters, with potential to refine SMS message handling.
streetlight-api
An Express.js backend that aggregates shelters, food programs, and other local resources into a single unified API. Built to strengthen nonprofit infrastructure and support those serving homeless and low-income communities in Greater Vancouver.
tire_codes
Package for parsing standard tire code strings such as '225/45R18 91W'
tokenSupport
De-Fi crowdfunding app with built-in token swapping capabilities to pay fundraisers in USDT.
tokenSupport-backend
Hardhat app for Solidity smart contracts. Backend of tokenSupport crowdfunding De-Fi dApp.
tokenSupport-frontend
React SPA for tokenSupport crowdfunding De-Fi dApp
tortoise-shell
Automatically load your Tortoise models and database connection into an interactive IPython shell
tweaker
Lightweight Python toolkit for normalizing and transforming messy text into structured data (currency, dates, contact info, regions, types, and more).
Weaver
Async web scraping tool for HTTP and browser-based scraping
website_street_ninja
Front-end NextJS website for showcasing the Street Ninja SMS-based application
webweaver
Async Webscraping framework using aiohttp and playwright
webweaver-node
Asynchronous webscraping microservice featuring FastAPI, Playwright, aiohttp, and BeautifulSoup.