- 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.
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.
production software
parsed automatically
taught end to end
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.
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.
Philadelphia, PA
Software engineer · musician
Experience
- 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.
- 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.
Selected projects
Job Trackr
Web appA 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.
Demo credentials
password 1234
Chairlift
In developmentA 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.
Artist Disco
Web appMusic 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.
Demo credentials
password demo1234
Chore Quest
In developmentA 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.
NotiFi
Web appAutomated 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.
Web Labs
Web appAn 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.
Demo credentials
password 1234
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.