Software Engineer @ ECFx · Philadelphia, PA

Shoha Tsuchida

I build

Five years turning manual, repetitive work into systems that run themselves — court-document crawlers, LLM pipelines, payment integrations, and the admin tooling that lets non-engineers actually see what all of it is doing.

5+
Years shipping
production software
1000s/day
Court documents
parsed automatically
8×
Bootcamp cohorts
taught end to end
01

About

I'm a software engineer who gravitates toward the unglamorous problems — the ones where a person is copying data between two systems, or a process breaks quietly at 2am and nobody notices until Monday. I like building the thing that makes that stop happening.

That's taken me from teaching Python and JavaScript to eight bootcamp cohorts at Coding Temple, to shipping chatbots and payment integrations at Alpine Home Air, to my current work at ECFx — where I write crawlers that navigate government court portals, get past captcha and two-factor auth, and turn thousands of legal documents a day into structured, summarized data.

The instructor years left a mark on how I work: I care a lot about whether the person inheriting my code can understand it, and I build admin panels and observability for non-technical users because software nobody can see into is software nobody trusts.

Currently

Building AI-powered document automation at ECFx — Java and Micronaut services running on Kubernetes, with Playwright, n8n, Langfuse and LLM Guard — and paying close attention to how you keep an LLM pipeline safe when it handles other people's legal data.

Portrait of Shoha Tsuchida
Shoha Tsuchida
Philadelphia, PA
Software engineer · musician
02

Experience

Apr 2024 — Present
ECFx
Electronic Court Filing Notice Automation
Remote · Philadelphia, PA
Software Engineer
  • Built web-crawling infrastructure on Java and Micronaut — using Playwright, JSoup and Selenium — that automates document processing for thousands of documents daily.
  • Reverse-engineered the patterns behind dozens of government court portals and email templates using Postman and Fiddler, designing solutions that get past captcha and two-factor authentication to reach the filings underneath.
  • Engineered AI-powered tooling to parse, annotate and summarize legal documents while protecting user data — orchestrated with Zapier, n8n, Langfuse and LLM Guard.
  • Shipped admin panels that give non-technical staff real observability into the automated services running behind the product.
JavaMicronautPlaywright SeleniumJSoupPython KubernetesDuploCloudn8n LangfuseLLM GuardZapier
Jan 2023 — Apr 2024
Alpine Home Air
Remote · Fountain Valley, CA
Full Stack Web Developer
  • Architected scalable, multi-context chatbot applications with photo analysis that collected and processed customer conversations about home projects, feeding the sales team faster and better-tailored data.
  • Built a model-agnostic AI content tool on LangChain and LiteLLM that generated SEO-optimized ad copy for over 1,500 ad groups, making A/B testing possible at scale.
  • Integrated the CreditKey payment API into the backend, letting customers check out on business credit and expanding available payment options.
  • Developed a tax credit and rebate API that surfaced real savings to customers — followed by a measurable lift in positive reviews.
  • Spearheaded adoption of AI-assisted development tooling (Cursor, Claude Code, GitHub Copilot) across the engineering team, reshaping code review and onboarding.
PythonLangChainLiteLLM ReactREST APIsSQL
Apr 2021 — Jan 2023
Coding Temple
Remote · Boston, MA
Software Engineer / Coding Instructor
  • Automated the admissions workflow by integrating Google Calendar, Classroom, Gmail, Zapier and PipeDrive — saving the admissions team 25 minutes of onboarding labor per student.
  • Raised code coverage on the admissions pipeline service by 15% using PyTest and Coverage.py, plus integration tests asserting expected behavior between the admissions service and in-class software modules.
  • Implemented OAuth and token authentication with encryption at rest to protect sensitive student data.
  • Led eight 10–12 week cohorts through a full Python and JavaScript curriculum, adapting instruction to a wide range of backgrounds and experience levels.
PythonPyTestOAuth JavaScriptFlaskZapier
03

Selected projects

Job Trackr drag-and-drop application board in use

Job Trackr

Web app
Sole developer

A CRM for your job search. Drag-and-drop cards track every application alongside contacts, notes, dates, documents, salaries and company data — no more spreadsheet sprawl.

  • Optimized reordering with lexicographical ordering, minimizing database writes on every sequence update.
  • Async modal CRUD so updates never block or degrade the interface.
  • Chrome extension hooks sync job listings into the tracker in real time.
ReactDjangoPostgreSQL Chrome Ext
Demo credentials
username demo
password 1234
Android Kotlin · Compose NestJS API TypeScript · TypeORM Postgres + PostGIS OpenAPI contract Auth0 Stripe Connect Google Maps MONOREPO · GITHUB ACTIONS CI

Chairlift

In development
Solo · Android + backend

A ride-share platform for ski and snowboard trips. Drivers heading to a resort post their trip; riders browse and request a seat. The system handles matching, payments and coordination end to end.

  • ~28k lines across a monorepo — 14 Compose screens on Android, 17 modules on the NestJS backend.
  • A 1,343-line OpenAPI spec is the source of truth for every client–server contract, so the two halves cannot drift.
  • Geospatial matching on Postgres + PostGIS drives radius search, route plotting and pickup optimization.
  • Stripe Connect for driver payouts, Auth0 for identity verification, Google Maps for navigation handoff.
  • 63 test files and GitHub Actions CI on both the Android and backend halves, with architecture decision records checked into the repo.
KotlinJetpack ComposeHilt NestJSTypeScriptTypeORM PostGISStripe ConnectAuth0
Artist Disco swipe interface for discovering musicians

Artist Disco

Web app
Sole developer

Music discovery with a swipe. A MERN app on top of Spotify's API that borrows the short-attention-span mechanic from dating apps to help people find new artists.

  • Cut network calls by a factor of 3 by caching client data in application state.
  • Iterated on features after beta testing with 100+ users recruited through social media.
ReactNode.jsExpress MongoDBSpotify API
Demo credentials
email artist@disco.com
password demo1234
CHORE QUEST 78 HOME HEALTH LV 7 1240 XP +40 EXP STREAK 12 NFC TAP WIDGETS

Chore Quest

In development
Solo · iOS

A gamified chore tracker for iOS 17+. Household tasks become quests with experience points, levels and streaks — and the house itself has a health meter that decays if you ignore it.

  • An EXP engine scoring effort × rarity with on-time and streak bonuses, a derived level curve, and a decaying Home Health meter — all pure, unit-testable logic.
  • Variable-ratio rewards: roughly an 18% chance of a lucky drop — bonus EXP, a double, a jackpot, or a streak freeze — on any completion.
  • NFC tags — stick one on the dishwasher and tap your phone to log the chore through a deep link.
  • Home Screen and Lock Screen widgets via WidgetKit, plus local notifications for morning digests, overdue nudges and streak-at-risk warnings.
  • Stats built on Swift Charts, and seven achievement badges with unlock celebrations.
SwiftSwiftUISwiftData WidgetKitCore NFC Swift ChartsSupabase
TARGET PRICE ALERT SENT

NotiFi

Web app
Sole developer

Automated price-drop alerts. A Flask backend runs scheduled scrapes against Amazon product pages and notifies you the moment something you're watching gets cheaper.

  • Scheduled scraping jobs extract pricing and availability, charted over time so users can see historical price trends.
  • JWT authentication securing every backend endpoint.
  • React + TypeScript frontend with cache invalidation strategies to avoid unnecessary network requests.
  • Structured logging of every notification — timestamps, recipient, and the nature of the price change — for accountability and troubleshooting.
FlaskReactTypeScript JWTWeb scraping
Web Labs interactive coding lesson interface

Web Labs

Web app
Sole developer

An interactive learning platform with hands-on modules in Python, JavaScript, HTML and CSS — built out of two years of teaching people to code and watching where they get stuck.

  • Executes real, language-specific commands inside sandboxed environments to keep untrusted student code away from the server.
  • Individualized user profiles tracking progress through each learning module.
DjangoReactPython Sandboxing
Demo credentials
username demo
password 1234
04

Stack

Languages & Frontend

  • Python
  • Java
  • JavaScript
  • TypeScript
  • React
  • HTML & CSS
  • Redux

Backend & Data

  • Django
  • Flask
  • Micronaut
  • Node.js & Express
  • PostgreSQL / SQL
  • MongoDB
  • RabbitMQ / BullMQ

Automation & AI

  • Playwright
  • Selenium / JSoup
  • LangChain / LiteLLM
  • Langfuse / LLM Guard
  • n8n / Zapier
  • Claude Code / Cursor
  • PyTest / Coverage.py

Platform & Tooling

  • Docker
  • Kubernetes
  • DuploCloud
  • AWS
  • Firebase
  • Git & GitHub
  • Redis
  • Postman / Fiddler

Depth bars are a self-assessment, not a certification.

Let's build something that runs itself.

I'm always up for talking about automation, LLM pipelines, or a problem that's currently being solved by somebody copy-pasting. The fastest way to reach me is email.

Based in
Philadelphia, PA
Timezone
Eastern Time (ET)
Phone