Skip to content
JE

Jeremy
Eltho

Danville, CA · Open to 2027 software engineering internships in the Bay Area

About

I build backend services, AI systems, and data tooling. Most of it has no interface: it runs as an endpoint, a queue worker, or a script somebody runs between test days.

I started on ASU's Formula SAE team and still write the drivetrain group's analysis tooling, which is where the telemetry further down comes from. Four internships since, all backend or AI systems.

That tool reports vehicle speed and differential slip, and refuses to report cornering load. Only the two driven wheels are logged, so any cornering figure derived from them is wrong, and it leaves the number out rather than printing something the team might tune against.

Education

Arizona State University

B.S. Computer Science · Expected May 2028 · Tempe, AZ

  • GPA 3.9 · New American University Scholarship
  • Relevant coursework: Data Structures and Algorithms, Object-Oriented Programming

Experience

  1. Jun to Aug 2026Walnut Creek, CA

    Software Engineer Intern

    Pop Life Photo

    • Architected the backend on Vercel and Supabase Postgres with a bidirectional HubSpot sync: idempotent upserts, a self-healing deal writer, and a five-minute reverse pull mirroring deal state.
    • Shipped a nine-surface AI layer on Gemini with an Anthropic failover, spanning lead scoring, reply drafting, and daily brief triage across Slack and the web, plus custom MCP servers for agentic CRM access.
    • Made lead capture lossless with a transactional outbox: SELECT FOR UPDATE SKIP LOCKED claims, exponential backoff, a dead-letter queue, and a daily cron reconciliation pass.
    14:02:10claimlead_8f3aworker=2
    14:02:11deliverlead_8f3ahubspot 200
    14:02:13claimlead_9c1dworker=1
    14:02:14skiplead_9c1dlocked by worker=1
    14:02:15retrylead_9c1dattempt=1 backoff=2s 502
    14:02:17retrylead_9c1dattempt=2 backoff=4s 502
    14:02:21retrylead_9c1dattempt=3 backoff=8s 502
    14:02:29dlqlead_9c1dattempts exhausted
    14:02:32claimlead_4e07worker=2

    A simulated worker log, scripted so one cycle shows every path: a clean delivery, a row another worker had already locked, three backoff attempts, the dead-letter queue, and the reconciliation pass that requeues it.

  2. May to Jun 2026Remote

    Software Engineer Intern (Returning)

    Sedai

    • Extended Headroom, an Apache-licensed LLM proxy, into an on-device token optimizer in Rust: a local axum server that proxies requests byte-for-byte and forwards server-sent events without buffering.
    • Parsed token usage from streaming events so every optimization was measured against a recorded baseline rather than estimated counts.
    • Designed provenance-based model routing that sends utility calls to smaller, faster models while leaving the main reasoning turn untouched.
    • Selected five-minute or one-hour Anthropic cache TTLs from measured idle gaps between requests, and injected a harness-agnostic instructions file so agent behavior configures independently of the client.
    tool resulthaiku-4.5
    user turnopus-5
    tool resulthaiku-4.5
    title generationhaiku-4.5
    file summaryhaiku-4.5

    4 of 5 requests routed to haiku-4.5; the turn the user is waiting on stays on opus-5

    A simulated request stream showing the routing rule only. It reports no token or latency savings, because those would be benchmarks and none are published.

  3. Jun to Aug 2025Remote

    Software Engineer Intern

    Sedai

    • Built metric routing for an AI agent evaluation platform, dispatching across 21 DeepEval metrics covering faithfulness, hallucination detection, role adherence, and DAG-based decision trees.
    • Implemented FastAPI endpoints serving both single-metric and batch evaluation runs.
    • Built a unified LLM client normalizing calls across providers, removing per-provider handling from every downstream evaluation workflow.
  4. May to Aug 2025San Jose, CA

    Software Engineer Intern

    Xceptional Learning

    • Built the image pipeline for an AI speech therapy web app serving 50 pilot users, pulling media from Google Cloud Storage blobs and routing it through a locally hosted Hugging Face instance tuned to classify student facial expressions at under one-second latency.
    • Hardened that path with rate limiting and access controls on the endpoints handling student media.
  5. Oct 2024 to PresentTempe, AZ

    Drivetrain Team Member

    Sun Devil Motorsports, Formula SAE

    • Simulate traction control strategies in Python, modeling wheel slip response to evaluate intervention behavior before it reaches the car.
    • Analyze over 100,000 rows of CSV wheel-speed telemetry in Pandas to surface mechanical inefficiencies, building Matplotlib visualizations that supported a differential tuning hypothesis.

Projects

Prompt Pilot

2026

A statusline for Claude Code, published to npm and installed about a thousand times at its peak. It surfaces live context usage, the rate-limit window, how many agents are running, the model, and the git branch, in one line that has to stay readable at any terminal width.

npm · Node.js · Git

opus-5mainctx34%4h57m left2 agents

The published statusline rebuilt for this page, stepping through a simulated session. Context climbs through a turn and drops when it compacts.

Formula SAE telemetry tooling: it turns rear wheel-speed and steering logs into drivetrain physics, then collapses the result into discrete launch, braking and wheelspin events the team can act on between test days.

It also refuses to compute lateral g. Only the two driven wheels are logged, so the left-right split is wheelspin through the differential, not chassis yaw. Deriving cornering load from it gives numbers above 3 g even after aggressive filtering, which is not possible, so the tool reports what the data supports and stops there.

Python · Pandas · NumPy · SciPy · Matplotlib

peak at
speed
long. g
diff slip
050100+1-100s25s50s75s100sSPEED km/hLONGITUDINAL g
227,452 logged rows, resampled to 50 Hz. This is 105s of the fastest run in a 599.7s session, drawn from the pipeline's own output. Replay runs at 8x; grabbing the chart takes over from playback, and arrow keys work once it has focus.

Pulls audio from Google Cloud Storage, transcribes it, then runs the transcript through three emotion classifiers and keeps the highest-confidence prediction. Gemini writes the summary. It runs end to end with no manual steps.

The three classifiers disagree by design: they were trained on different label sets, at 28, 11 and 7 emotions. A singleton cache loads all three once at startup, so the cost of a cold start is paid a single time rather than on every analysis.

Python · Transformers · PyTorch · GCS · Gemini

cache warmskips model load
load models
fetch gcs
transcribe
twitter-roberta
bert-go-emotion
distilroberta
gemini summary

Stage order for one analysis, read from the repository. The three classifiers run one after another, not concurrently. The first pass pays for loading all three models; later passes reuse the cache and skip that stage entirely. Relative shape only, not measured timings.

  • An offline iOS app that scans Pokémon cards with the Vision framework, fuzzy-matches them against a 4,400-name dictionary, and tracks inventory in SwiftData. No backend at all.

    Swift · SwiftUI · Vision · SwiftData

More on github.com/JeremyEltho.

Skills

Languages
PythonRustJavaCC++SQLJavaScript
Frameworks
FastAPIFlaskaxumReactNext.jsNode.js
Infrastructure
VercelSupabasePostgreSQLDockerGoogle Cloud PlatformGitREST APIs
Libraries and APIs
PandasNumPyMatplotlibDeepEvalHubSpot APIMCP

Contact

I'm looking for a 2027 software engineering internship in the Bay Area. Email is the fastest way to reach me.

jeremyeltho@gmail.com

github.com/JeremyEltholinkedin.com/in/jeremyeltho