Jay Heo
Building streaming experiences for web, mobile, and 30,000 feet in the air.
I build Ecco's cross-platform streaming app — web, mobile, and an airline in-flight entertainment build — working in React, React Native, Next.js, and Go. I shipped a guest-mode rework that raised Day-1 retention from 25% to 75%, and led the IFE build now in front of 18 airlines including Lufthansa and Etihad.
Experience
Where I've worked and what I actually shipped.
Ecco, Inc.
Software Engineer
Apr 2025 – Present
Irvine, CA
Building Ecco's cross-platform streaming app — web, mobile, and an airline in-flight entertainment build.
- Rebuilt the app's auth model around a guest state so browsing, search, and playback work without an account — removing the signup wall raised Day-1 retention from 25% to 75%.
- Ported the web app to airline in-flight entertainment hardware (a legacy Qt browser with minimal CPU and memory) and built an MQTT-based remote control to drive it from a separate device. Demoed at the Aircraft Interiors Expo in Germany, leading to follow-up meetings with 18 airlines including Lufthansa, Etihad, and Saudia.
- Led the React Native upgrade from 0.76 to 0.84 alongside React 19 and Expo 55, driven by Android 16 KB page-size requirements and a New-Architecture-only dependency stack — using ~490 existing tests to catch regressions across iOS and Android.
- Rebuilt voice search around a proper speech-recognition state machine — stable vs. interim transcripts, intentional stops vs. dropped connections, rate-limited auto-restart — driving a 30% increase in searches after launch.
- Built the Go backend and Redis-based session logic for the analytics event pipeline, and shipped the app's first monetization path: a subscription paywall with full Stripe integration for checkout, subscription status, and webhook-driven entitlements.
ShineResumes
Team ProjectFull-Stack Engineer
Jul 2024 – Nov 2024
Tustin, CA
- Migrated the backend from REST to GraphQL/Apollo so the frontend fetches exactly what each resume section needs instead of over-fetching across multiple endpoints.
- Built the AI resume generation flow — calculating available line space before generation, with keyword tracking so bullets don't repeat across a resume.
- Moved resume file storage off the database and onto S3 with pre-signed URLs for previews and downloads.
Preps AI
Y Combinator S2024 — Final RoundFront-End Engineer & Project Lead
Dec 2023 – Jun 2024
Fullerton, CA
- Built the real-time mock interview flow — Next.js dynamic routes talking to the AI backend over WebSockets.
- Cut AI response latency from 5–10 seconds to near real-time by streaming audio over WebSockets in chunks and streaming AI responses back token by token.
- Advanced to the final round of Y Combinator's S2024 selection process out of thousands of applicants, and coordinated sprints to ship a polished app ahead of the application deadline.
Mustadd
ContractSoftware Engineer
Aug 2022 – Aug 2023
Los Angeles, CA
- Built a portfolio view pulling a user's on-chain holdings and calculating average cost basis, current value, and unrealized gains/losses against live prices — caching CoinGecko responses to work around a low API rate limit.
- Added QR-code-based actions tied to the user's wallet address, surfacing different options depending on what the scanned code represents.
Featured Projects
A selection of things I've built end to end — from AI products to mobile apps.
ShineResumes
An app that generates resumes tailored to a job description in seconds — AI generation flow with line-space calculation, keyword dedup, and S3-backed file storage.
Preps AI
Real-time AI mock interview platform for software engineers — YC S2024 final round. Streams audio and AI responses over WebSockets for near real-time conversation.
PDF Uploader
Upload a PDF and listen to it — text-to-speech powered by PlayAI, with Supabase storage and dynamic routes per document.
Giverr
Social media app for sending & receiving gifts — Lottie-animated onboarding, SMS auth with Firebase, and Firestore-backed user data.
Mellow
Single-page product landing with infinite scroll animation and Git LFS-managed media assets.
Bags Trade Tracker
Mobile app for tracking trades — built with React Query and tested with React Native Testing Library against a reverse-engineered API.
Technical Skills
The stack I work with day to day.
Languages
Frontend & Mobile
Backend & Infra
Tools & Platforms
About Me
Full-stack engineer who cares about what happens after the code ships.
I'm a full-stack engineer at Ecco in Irvine, where I work across the streaming app's React web client, React Native mobile app, and Go backend — plus an in-flight entertainment build that runs on airline seat-back hardware at 30,000 feet.
Before Ecco, I led frontend at Preps AI, which reached the final round of Y Combinator's S2024 batch; built the AI resume generation flow at ShineResumes; and shipped a React Native crypto portfolio app at Mustadd.
I studied Sociology at UC Santa Barbara with a Technology Management certificate, trained at CodeSmith's software engineering immersive, and hold the IBM AI Developer Professional Certificate. Fluent in Korean. Off the clock: golf, pickleball, and a long-running search for the best tacos in Orange County.
Get In Touch
Have a role or a project in mind? I'd love to hear from you.