Skip to content
View chrisjmendoza's full-sized avatar
🫠
plugging away on my apps
🫠
plugging away on my apps
  • PlusOrMinusTwo Designs
  • Bothell, WA
  • 13:33 (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.

Content in all repositories owned by your account will be closed.
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 β€” Software Developer

I'm a software developer in the Pacific Northwest with a hands-on background in marine machining, manufacturing, and IT. That combination shapes how I build software: I think in tolerances, failure modes, repeatable workflows, and tools that have to make sense outside of a demo.

I build Android apps, web applications, developer tooling, and automation systems β€” often around real-world problems I've encountered myself.

BAS, Mobile & Web App Development β€” North Seattle College


πŸš€ Featured Work

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

An Android application for rapidly modeling marine propeller-shaft assemblies and producing clean, dimensioned technical documents. It grew directly out of my work as a marine machinist and is designed around real inspection, repair, and machining workflows.

Highlights:

  • Parametric shaft modeling with bodies, tapers, threads, liners, keyways, undercuts, and coupler features
  • Live dimensioned Compose drawing with canonical millimeter geometry and inch/mm UI conversion
  • Technical PDF generation for shaft schematics, runout, wear inspection, undercuts, and consolidated reports
  • Versioned .shaft document format with migrations, autosave, backup, restore, and import/export
  • Validation and geometry rules modeled around real machining constraints rather than generic drawing primitives

πŸ‘‰ github.com/chrisjmendoza/ShaftSchematic


🚲 Rideprint β€” Next.js Β· TypeScript Β· Supabase (live at rideprint.com)

A mobile-first bike maintenance platform for building a durable service history across the life of a bicycle. Riders can track maintenance and rides, while verified shops can add service records directly to customer bikes.

Highlights:

  • Next.js App Router with Supabase Postgres, Auth, Storage, RLS, and SSR sessions
  • AI-assisted bike specification lookup and receipt OCR using Claude
  • Service intervals, reminders, component tracking, and public QR bike profiles
  • Verified-shop workflows with mechanic access controls and customer lookup
  • Strava ride import, Stripe freemium payments, Resend email reminders, and installable PWA support
  • 184 automated tests across 25 files

πŸ‘‰ rideprint.com


βœ‰οΈ Postmark β€” Android Β· Kotlin Β· Jetpack Compose

A privacy-first Android SMS/MMS client built as a full default-messaging-app replacement. Postmark maintains its own local message database so it can provide fast search, rich media handling, backups, statistics, and conversation customization without a cloud dependency.

Highlights:

  • Android default-SMS integration with system message synchronization, receivers, SmsManager, and RoleManager
  • Room + FTS4 persistence with fast message search and structured repository/domain layers
  • Photo, video, and voice-memo messaging with MMS-aware attachment budgeting and media compression
  • Scheduled local backups and idempotent restore workflows using WorkManager and the Storage Access Framework
  • Apple and Android reaction parsing, per-conversation personalization, statistics, and rich conversation export
  • JVM unit tests plus emulator-backed instrumented testing in GitHub Actions

πŸ‘‰ github.com/chrisjmendoza/postmark


πŸ“˜ Reading the Machine β€” Programming Textbook / Instructional Project

A programming textbook that teaches software architecture backwards by walking through two real Kotlin/Android codebases: ShaftSchematic and Postmark. Rather than starting with isolated syntax exercises, it teaches readers to examine working systems, identify the architecture and constraints already present, trace behavior through the code, and understand why implementation decisions follow from real client requirements.

The body is complete and the project is being prepared for publication and instructor feedback as supplemental programming material.


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

A tactile corkboard-style note app built around a large pannable and zoomable canvas. Notes behave like physical objects rather than rows in a conventional notes list.

Highlights:

  • Reanimated + Gesture Handler canvas with pan, pinch-to-zoom, drag, resize, rotation, and z-order controls
  • Sticky notes, index cards, text bubbles, photos, checklists, and link cards
  • Multiple named boards with persistent local storage
  • Per-note typography, formatting, color customization, and automatic text contrast
  • TypeScript-first architecture with a substantial Jest test suite

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


πŸ€– Hephaestus β€” Python Β· AI Developer Tooling

A local AI software-engineering assistant that accepts a natural-language development task, reasons over an actual repository, generates a structured plan, and executes work through a controlled tool layer.

Highlights:

  • task β†’ plan β†’ execute β†’ report lifecycle with structured logging
  • Semantic repository search across multiple programming languages
  • LLM-guided planning and patch generation
  • Dry-run previews, file patching, test execution, and Git-aware workflows
  • Per-repository memory for continuity across sessions
  • GitHub issue-to-PR workflow support

πŸ‘‰ github.com/chrisjmendoza/Hephaestus


πŸ”§ Other Projects

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

A Windows backup utility that detects a specific USB drive by identity rather than drive letter and automatically runs controlled Robocopy backup jobs in the background.

πŸ‘‰ github.com/chrisjmendoza/portflow

πŸ“ DocArchivist β€” Python Β· FastAPI Β· React

A local-first document management system for extracting text from PDFs and images, applying structured metadata, and making scanned documents searchable with OCR and SQLite FTS5. Currently in development.


🧰 Tech I Work With

Languages
Kotlin Β· TypeScript Β· Python Β· C# Β· SQL

Application Development
Jetpack Compose Β· Android SDK Β· Next.js Β· React Β· React Native Β· Expo Β· FastAPI Β· .NET

Data & Infrastructure
Supabase Β· PostgreSQL Β· SQLite / FTS5 Β· REST APIs Β· Vercel Β· GitHub

Automation & Applied AI
LLM APIs Β· OCR workflows Β· document processing Β· repository tooling Β· developer automation


🧭 How I Build

  • Start with the actual workflow and constraints, not just the UI
  • Keep domain logic explicit, testable, and separate from presentation code
  • Treat edge cases and failure modes as part of the design
  • Prefer maintainable systems over clever one-off solutions
  • Use AI tooling to accelerate iteration while still verifying behavior through tests, documentation, and real-world constraints
  • Write documentation so someone other than the original author can understand the system later

πŸ“« 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

  2. postmark postmark Public

    Your SMS app, but it actually knows what's in your messages. Stats, heatmaps, search, reactions, and export β€” all offline, no cloud required.

    Kotlin 2