Skip to content
View chrisjmendoza's full-sized avatar
🫠
plugging away on my apps
🫠
plugging away on my apps
  • PlusOrMinusTwo Designs
  • Bothell, WA
  • 22:54 (UTC -07:00)

Block or report chrisjmendoza

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
chrisjmendoza/README.md

Chris Mendoza β€” Developer

Hi, I'm Chris β€” a developer based in the Pacific Northwest with a background that runs through IT, manufacturing, and the trades. That mix shapes how I build: I care about precision, real-world practicality, and software that actually holds up.

I build web apps, Android apps, and custom tools. Most of what I work on sits at the intersection of structured engineering problems and clean, maintainable code.


πŸš€ Featured Projects

🚲 Shiftlog β€” Web App Β· Next.js Β· Supabase (live at shiftlog.bike)

A mobile-first bike maintenance tracking web app. Cyclists log every service, track component wear, get maintenance reminders, and carry a complete history through ownership transfers β€” like a Carfax for bikes.

Key features:

  • Google OAuth + email/password auth with SSR cookie sessions
  • AI-assisted bike registration β€” enter year/brand/model, specs auto-populate via Claude API
  • Receipt OCR β€” snap or upload a shop invoice, AI extracts and pre-fills the service record
  • Service interval tracking with progress bars, component library, and auto-seeded intervals on bike creation
  • Daily reminder emails via Resend + Vercel Cron
  • Public QR bike profiles with three privacy tiers
  • Photo upload with client-side compression
  • Ride logging with aggregate stats
  • Full test suite β€” 41 tests across 11 files, all green

πŸ‘‰ shiftlog.bike


πŸ“Œ TackBoard β€” React Native Β· Expo

A corkboard-style note canvas app for Android. Pin 6 note types to a large pannable and zoomable canvas across multiple named boards.

Key features:

  • Pan/pinch-zoom canvas at 120fps (UI thread, Reanimated 4)
  • Sticky notes, index cards, checklists, photos, text bubbles, links
  • Note resize, rotation, color themes, snap-to-grid
  • Rubber-band multi-select, tack grouping, board templates
  • Persistent local storage with schema versioning and migration
  • 426 passing tests across 19 suites

πŸ‘‰ github.com/chrisjmendoza/hanna-notes


πŸ€– Hephaestus β€” AI Agent Β· Python

A local AI software engineering agent that accepts a natural-language task, scans a repository using semantic search, generates a structured plan via LLM, and executes each step through a controlled tool layer.

Key features:

  • Multi-LLM support: Anthropic Claude, OpenAI, Ollama, Groq, LM Studio
  • File patching, test running, git commits, GitHub PR creation
  • Issue watcher daemon β€” polls GitHub and auto-resolves labeled issues
  • Per-repo memory for continuity across sessions
  • Dry-run mode, structured task reports, 20+ test files

πŸ‘‰ github.com/chrisjmendoza/Hephaestus


πŸ› οΈ ShaftSchematic β€” Android Β· Kotlin

Android app for modeling marine propeller-shaft assemblies with parametric components and real-world machining rules.

Key features:

  • Jetpack Compose UI with live dimensioned canvas preview
  • Parametric bodies, tapers, liners, threads
  • Snap engine, taper calculations, OAL logic
  • PDF export and drawing layout engine
  • Clean, modular architecture with full unit test coverage

πŸ‘‰ github.com/chrisjmendoza/ShaftSchematic


πŸ”Œ PortFlow β€” C# Β· .NET 8 Β· Windows

A Windows backup utility that automatically backs up folders to a USB drive the moment it's plugged in.

Key features:

  • Drive identification via sentinel marker file β€” not fragile drive letters
  • WMI USB detection with event storm protection and debounce
  • Robocopy-based backup engine with job object process control
  • Silent system tray operation with async buffered logging
  • Full install/uninstall scripts, scheduled task integration

πŸ‘‰ github.com/chrisjmendoza/portflow


πŸ“ DocArchivist β€” Python Β· FastAPI Β· React (in development β€” available on request)

A local-first, AI-powered document management system. Drop in a scanned PDF or image β€” DocArchivist extracts text via OCR, applies AI-driven metadata, and files everything into a searchable archive.

Key features:

  • PDF text extraction with OCR fallback (PyMuPDF + Tesseract)
  • AI metadata: title, vendor, date, category, summary
  • Multi-provider AI: OpenAI and Anthropic, switchable at runtime
  • SQLite FTS5 full-text search across all documents
  • React + TypeScript frontend with TanStack Query

πŸ”§ Tech Stack

Web

  • Next.js / React / TypeScript
  • Tailwind CSS
  • Supabase (Postgres, Auth, Storage)
  • REST APIs / Server Actions
  • Vercel

Mobile

  • Kotlin / Jetpack Compose / Android SDK
  • React Native / Expo
  • MVVM architecture Β· Coroutines Β· Material 3

Backend & Automation

  • Python / FastAPI
  • SQLite / FTS5
  • OCR workflows (Tesseract / PyMuPDF)
  • PDF processing and automation utilities

Other

  • C# / .NET 8 / WinForms
  • Git / GitHub

πŸ’Ό What I Work On

  • Production web apps with auth, databases, and AI integration
  • Android features, UI builds, and bug fixes (Kotlin + Compose)
  • Python tooling, OCR pipelines, and data extraction
  • FastAPI backends and automation workflows
  • Custom desktop utilities and system tools
  • Refactoring legacy codebases into maintainable systems

🎯 How I Work

  • Clear communication and honest expectations
  • Thoughtful, predictable engineering
  • Strong debugging and systems thinking
  • High-quality code built to last
  • Fast iteration without cutting corners

πŸ“« Contact & Links

Pinned Loading

  1. ShaftSchematic ShaftSchematic Public

    Android app for generating marine shaft schematics with parametric components, live dimensioning, taper calculation, liner placement, snapping, and PDF export.

    Kotlin 1