Jason
Steltman

Burlington, Ontario, Canada

Seven shipped projects in under three months — AI tooling, civic tech, grant discovery, quantitative finance, event aggregation. I build things that solve problems people actually have. Currently running Sourcepull, an AI visibility auditing platform with an AI-powered operational layer, where the core product measures how accurately AI platforms represent real businesses and delivers fix plans. Self-taught through building — started on free-tier tools, now running full agentic workflows from the CLI. OCAD University graduate with a publishing and design background. The design instinct shapes everything I ship.

Sourcepull sourcepull.ca / 2026

Python, Next.js 16, Supabase, Vercel, Railway, multi-LLM integration

  • AI platforms confidently misrepresent businesses — wrong cities, wrong industries, wrong services. Sourcepull measures it. Runs structured queries across ChatGPT, Perplexity, Gemini, and Claude, classifies each response for accuracy and citation quality, and delivers a fix plan.
  • Designed a six-tier classification methodology with an accuracy-first flow — hallucinated citations score negatively, not positively. This widens the score distribution and catches the false confidence that other tools miss.
  • Full measurement methodology (v3.0) covering stochastic variance, sample size disclosure, data provenance, and confidence calibration. The honesty layer is the product differentiator.
  • Built and operate "Frank," an AI CEO agent with persistent memory, advisory board dispatch, and multi-agent meeting orchestration across 90+ working sessions. Frank chose the niche, argued for it, and won.
  • Multi-model pipeline matching cost to task: lightweight models for high-volume classification, capable models for analysis and strategic reasoning
  • Accepted into Innovation Factory's Concept Catalyst startup program (April 2026)
Civic Engagement civicengagement.ca / 2026

Vanilla HTML/CSS/JS, Cloudflare Workers, Python, Claude API

  • Government websites are terrible. Finding your representative shouldn't require knowing your ward, your riding, and three different websites. Civic Engagement takes one address and returns every elected official from city councillor to Prime Minister. No cookies, no data collection, no tracking.
  • Ward boundary mapping, representative profiles with local and federal voting records, nearby public services, and one-click email drafting
  • Burlington city council wasn't transcribing their meetings despite compliance obligations. Had to build a meeting transcriber before we could build a meeting scraper — the full pipeline from scratch using Playwright and AI summarization
  • AI chatbot routing residents to the correct city department across 9 Ontario municipalities
  • Single HTML file, 5,100 lines, no framework, no backend. Open source and free to use. Two confirmed civic impact stories from real users.
GrantMatch CLI + Browser UI / 2026

Node.js, Claude API (@anthropic-ai/sdk), pdf-parse, Claude Vision

  • Takes a project description (typed, uploaded PDF, or screenshot via Claude Vision), extracts a structured profile, and scores it against a curated grant database. Designed to scale toward discovering every applicable grant for a given project type and region.
  • Multi-model architecture: Haiku for high-volume scoring passes, Sonnet for profile extraction and application draft generation
  • Pre-filter eliminates obvious mismatches before spending tokens on AI scoring
  • Grant Tracker companion tool turns GrantMatch results into a managed application pipeline — track status, deadlines, requirements, and next steps for each grant you're pursuing
PolyBot / MarketBot 66 tests passing / 2026

Python, numpy, scipy, pytest, Alpaca API

  • Quantitative trading system: LMSR pricing engine (logsumexp-stable), sequential Bayesian inference in log-space, fractional Kelly criterion for position sizing
  • 66 tests across all modules; math cross-verified against known LMSR values
  • Full risk management layer with hard position limits, daily loss caps, and drawdown stops
  • Rebuilt the core math for traditional stock markets (MarketBot) via the Alpaca API when prediction markets proved inaccessible from Ontario
Python Claude API JavaScript / Node.js Next.js / React HTML / CSS Supabase (PostgreSQL) Agentic System Design Multi-model Pipelines Playwright Claude Code CLI Vercel / Railway / Cloudflare Test-Driven Development UI / UX Design Adobe Creative Suite

Ontario College of Art and Design University (OCAD U)

Bachelor of Fine Arts, Integrated Media / 2012 - 2017

Thesis: three self-published artist books exploring permanence in the digital age. Training across photo, video, audio, and design production. Visual communication and complex project execution from concept to completion.

Impulse [b:] Publishing House

Editor & Contributor / 2015 - 2024

Founding member of an independent publishing house, created in collaboration with artist Eldon Garnet. Editorial meetings, book proposal reviews, artist and designer interviews. Full Adobe Suite production workflow from creation through print-ready proofs to full print runs. Organized release parties for up to 200 people.

How I Build

I learned to code by building. Shipped Civic Engagement as my first real project using free-tier AI tools, and progressed to full agentic workflows within weeks. Every project here started from a real problem, not a tutorial.

I think about AI from the product side: what happens when real people rely on AI outputs that are wrong, incomplete, or confidently misleading? Sourcepull's methodology addresses hallucination detection, confidence calibration, and measurement transparency because those are the problems I kept running into.

The art and publishing background informs why I care so much about output quality. In a world of vibe-coded projects, design thinking and creative discipline put you ahead. How something reads, how it feels, whether someone trusts the number on the screen. That's what I bring.

Back to portfolio