AI & Full-Stack Engineer
I finished my M.S. in NLP at UCSC last year, and I was a founding engineer at Levangie Laboratories.
Most of my work is product and forward deployed engineering. I like figuring out what people actually need and then shipping it myself, mostly in AI agents, developer tools, and applied NLP.
Always happy to talk with people building thoughtful AI products, or about surfing.
February 2026 – September 2026 · Remote
Levangie builds AI agent products. I was one of two engineers and owned the platform side, the infrastructure, the deploys, the API and the frontend. Most of the work came out of customer conversations, from the first requirements through demos, launch and production troubleshooting. I built the embedded chat product that turned an enterprise pilot into a purchase, the multi-tenant billing that brought on the first organizational customer, and the container runtime that carried us from under five users to hundreds. I built the CI pipeline and a one-command release with rollback, and when the platform kept falling over under load I pulled the front-loading out of startup and took boot memory from 594 MB to 147 MB.
Skills: Python, FastAPI, TypeScript, Next.js, React, PostgreSQL, Docker, GCP, Artificial Intelligence (AI), Full-Stack Development
June 2025 – January 2026 · Remote
Gray Whale is an enterprise AI company building what they call Large Interaction Models. I ran the retrieval evaluation and found that a 700-document benchmark could not separate the semantic approaches we were testing, so rather than force a result out of it we moved to a function-calling evaluation we could actually get a signal from. I built the wrapper the other three engineers used to connect their tools and their specialized agents, and I hosted the Developer Camp hackathon and built the formatter people used to get their own data into the shape the platform wanted. I also built a native audio-filter plugin that ran speech to text on device with whisper.cpp. I stayed on afterward for light product testing and advisory work.
Skills: Python, LangGraph, sentence-transformers, FAISS, BM25, OpenAI, Artificial Intelligence (AI), Machine Learning, Natural Language Processing (NLP)
May 2025 – September 2025 · Remote
Onda is a surf forecasting app. I owned the production chatbot inside a codebase the rest of the team built, and I set up the LangSmith tracing that let us see what the model was actually doing. The traces showed it was treating a surfer's self-reported skill as a target instead of a ceiling, so I redesigned it to cap recommendations at stated ability and checked the change against a fixed dataset.
Skills: Python, LangSmith, Google Gemini, GCP, Artificial Intelligence (AI), Machine Learning, Software Development, Natural Language Processing (NLP)
September 2024 – December 2025 · Santa Cruz, CA
I was a TA for CSE 140, TIM 50 and TIM 58, and mentored more than 150 students across them. In the AI course that meant office hours and section on search, machine learning and neural methods, and in the information systems courses it was SQL and relational databases, agile and UML modeling, mostly walking project teams through their designs. I ran the Gradescope autograders and helped maintain the Pacman assignment repo that CSE 140 runs on.
Skills: Artificial Intelligence (AI), Machine Learning, SQL, Relational Databases, Scrum, Agile Methodologies, University Teaching, Business Information Systems
April 2024 – June 2025 · San Diego, CA
Boardal is a mobile marketplace with more than 20,000 registered users. I was the first hire after the two founders and the only engineer on the app, and I carried the technical side. I built saved search alerts with push delivery that brought people back, reworked the chat architecture, and shipped the iOS releases. Toward the end I built a custom GPT wired to the Google Sheets API so the marketing interns could write personalized outreach from customer records and track who had been contacted.
Skills: Flutter, Firebase, Firestore, Cloud Messaging, OpenAI API, iOS Deployment, Mobile Applications, Agile Methodologies, Front-End Development, Custom GPTs, Software Development, Full-Stack Development
M.S. NLP Capstone, Industry-Sponsored Graduate Capstone, Featured by Santa Cruz Works
May 2025 – December 2025
Industry-sponsored graduate capstone completed in partnership with CarbonBridge. Built an applied NLP system for scientific literature triage, extraction, and knowledge graph exploration to support research in sustainable fuel innovation.
- Developed an open-source pipeline for extracting entities, relationships, and technical concepts from scientific literature
- Integrated Docling and Qwen vision-language models for document parsing and information extraction
- Built a React-based interface for graph exploration and AI-assisted literature review
- Set up FastAPI, Dgraph, and containerized infrastructure to support continued use and future development
- Documented architecture and technical decisions to enable project handoff to future contributors
Tools: NLP, Knowledge Graphs, Information Extraction, React, FastAPI, Dgraph, Python, AI
April 2025 – June 2025
Team project. A graduate multi-agent appliance-repair assistant built by six people, where I owned three of the seven inference-time components. Industry-sponsored, so the code stays private and there is no public repository to link. Happy to walk through the architecture.
- Built the orchestrator, the Critic agent, and a synthetic self-practice environment that used repair corpora to improve the system through automated feedback
- Built the video and image agent with a 4-bit vision-language model, Whisper transcription, and three-level caching
- Built the React and WebSocket interface
Tools: Python, Vision-Language Models, Whisper, React, WebSocket
July 2026 – July 2026
Built a browser soccer game with an AI-managed ranked ladder, where the match simulation runs server side so ranked results stay consistent.
- Set up magic-link authentication and a Postgres database with row-level security and schema migrations
- Moved the shared simulation engine into a Deno Edge Function that runs inside an RPC transaction
- Personal project, built to learn Supabase end to end
Tools: Supabase, Postgres, Deno, TypeScript
July 2023 – Present
This site. React and MUI on Firebase, with a chat widget that answers questions about my work. The chat runs on a Cloudflare Worker and compacts its own context to stay inside the token budget. The build also injects static HTML into the page so crawlers and resume screeners that do not run JavaScript can still read everything.
- Built and deployed a responsive web portfolio to highlight projects, experience, and technical skills
- Designed for smooth navigation and consistent UX across desktop and mobile devices
- Added interactive elements including a dynamic photo gallery and direct links to live projects and repositories
- Used the site as an evolving hub for presenting both technical work and creative interests
Tools: React, Node.js, Front-End Development, JavaScript, Firebase, Material-UI, Responsive Web Design
January 2023 – Present
A peer-to-peer marketplace for renting out a private driveway or parking space. It started as ParkMe, an undergrad team project that never made it online, and I rebuilt it solo in 2026 so there would be a version anyone could open.
- 2023, team: product owner and full-stack developer. Led feature scoping and technical planning, built backend endpoints for listings and rentals, configured Google Cloud and mapping services, and worked across Flutter, Node.js, TypeScript and PostgreSQL
- 2026, solo rebuild on Next.js, Neon Postgres and Vercel. Reservations are overlap-checked in the insert and again by a Postgres GIST exclusion constraint, so double-booking is impossible at the database level rather than merely unlikely
- scrypt password hashing with HMAC-signed session cookies and a timing-safe login path, Leaflet maps over OpenStreetMap, address geocoding, and photo uploads validated by magic bytes instead of the content-type the browser claims
- Coordination only. Money changes hands between users off-platform, which keeps it clear of payments and the liability that comes with them
Tools: Next.js, TypeScript, PostgreSQL, Leaflet, Vercel, Flutter, Node.js, Full-Stack Development, Product Management
September 2026 – September 2026
I wanted to know if a model small enough to run on a laptop could drive a real tool using agent. I built one with web search, page reading and a calculator, then ran five open models through the same 15 tasks, three times each.
- gpt-oss 20B passed 43 of 45 runs. Most of the others stalled at the same step, searching but never opening the page to read the answer
- Every model resisted the prompt injection tasks, though only some went on to finish them
- Tested whether one extra hint sentence in each tool description helps. It helped some models and hurt others
- Fully local and free to run, and the results table is generated straight from the run logs
Tools: Python, LangGraph, MCP, Ollama, LLM Evaluation
October 2026 – October 2026
A plugin for Claude Code and Codex that keeps a team in sync when everyone is driving their own coding agent on one repo. I built it after a hackathon where we kept redoing work because one person's discovery never reached anyone else's agent.
- Shared decisions, API contracts and the team roster live in repo files that every agent reads
- A simple routine picks one integrator, runs spikes before the work is split, and merges often
- Hooks and a sync check work in both Claude Code and Codex
Tools: Claude Code, Codex, Python, Agent Tooling
July 2026 – Present
A live stock app that puts price trends and crowd sentiment on the same chart.
- Candlestick charts with 20 and 50 day moving averages, plus markers on the days where sentiment and price agree or split
- gpt-oss 20B on Groq scores sentiment from Reddit, ApeWisdom and news feeds
- Per IP rate limits and a global daily cap on model calls, since anyone can use it
- FastAPI backend with a SQLite cache and a React frontend, hosted on Render
Tools: FastAPI, Python, React, TypeScript, SQLite, Groq
September 2026 – September 2026
Team project from the Flower Collaborative Agent Hackathon at Stanford, built on real data from the machines that power SLAC's particle accelerator.
- Three agents each hold their own slice of instrument data and send back only a summary, so under 1 percent of the raw data gets shared
- An orchestrator combines the summaries into a verdict for a human, and no tool can touch the equipment
- I wrote the spec and the GitHub issues the team's coding agents built from
- After the event I hosted the live demo from my fork so it stays up for free
Tools: Python, Flower, FastAPI, Multi-Agent Systems
September 2026 – September 2026
Four small open source libraries I pulled out of code I kept rewriting across projects.
- llm-kit, LLM calls for Ollama and OpenAI compatible APIs plus JSON reply parsing, in TypeScript and Python
- chat-ui, a React chat hook and panel with streaming and abort
- gh-graphql, a GitHub GraphQL client with retries, rate limit waits and resumable paging
- http-cache, a disk cached HTTP GET with atomic writes
- Each one has tests, and my other projects now use them
Tools: TypeScript, Python, React, Open Source
May 2025 – June 2025
Built an AI-powered educational system that turns study materials into interactive learning experiences through multi-agent orchestration, document interaction, and adaptive content generation.
- Designed specialized agents for concept extraction, summarization, and quiz generation
- Built a modular pipeline for comparing web search, LLM synthesis, and hybrid retrieval approaches
- Developed a React-based interface with PDF upload, text selection, and real-time content generation
- Integrated Flask-based backend services and PDF tooling to support downloadable assessments and summaries
- Extended the system with podcast-style audio generation to support multimodal learning
Tools: AI, NLP, Machine Learning, Flask, Python, React, Multi-agent Systems, RAG
January 2025 – March 2025
Team project. Built a retrieval-augmented chatbot to answer questions about the UCSC NLP Master's Program and related university services.
- Built a RAG pipeline using LangChain, ChromaDB, and LLaMA 3.2 over 77 scraped UCSC-affiliated web pages
- Integrated Gemini 2.0 Flash as a post-response evaluator to check relevance, coherence, and bias before surfacing answers
- Developed a Swift-based iOS app with Firebase for authentication, chat history, and real-time access
- Evaluated the system on a custom 150-question benchmark, achieving 97% human-evaluated accuracy and 71% strict accuracy under Gemini-based evaluation
- Compared performance across three LLaMA model sizes (1B, 3B, and 8B)
Tools: NLP, Python, RAG, Machine Learning, Web Scraping, LangChain, ChromaDB, Swift, Firebase
February 2025 – February 2025
Studied the robustness of transformer-based question answering across in-domain, adversarial, and out-of-domain settings, with a focus on adapting RoBERTa to biomedical QA tasks using parameter-efficient fine-tuning.
- Evaluated RoBERTa on SQuAD 2.0 and Covid-QA to analyze robustness under domain shift
- Applied LoRA-based fine-tuning to improve performance on biomedical text while reducing trainable parameters
- Implemented sliding-window inference and CLS-token masking for long contexts and unanswerable questions
- Achieved +6.41 EM / +14.84 F1 on Covid-QA dev set and +5.33 EM / +10.54 F1 on test
- Analyzed failure modes under ambiguity and contradiction
Tools: NLP, Python, PyTorch, Transformers, QA, Domain Adaptation, LoRA, Machine Learning
February 2025 – March 2025
Built a biomedical NER model using a BiLSTM-CRF architecture with character level CNN features and static word embeddings.
- Modeled entity extraction for DNA, RNA, proteins, cell types, and cell lines on NLPBA 2004 dataset
- Compared CRF, softmax-margin, and SVM-margin losses
- Used padded minibatches, masking, and hyperparameter tuning
- Reached F1 of approximately 0.59
Tools: NLP, Python, PyTorch, NER, Deep Learning
November 2024 – November 2024
Built a transformer based autoregressive language model on the Penn Treebank dataset.
- Implemented a Transformer Encoder with sinusoidal positional encoding and multi-head attention
- Tuned embedding size, batch size, and learning rate
- Reduced test perplexity from 83.35 to 39.11
- Analyzed architecture-performance tradeoffs
Tools: NLP, AI, Python, PyTorch, Transformers
Python, TypeScript/JavaScript, SQL, Bash, Dart, C/C++, Swift, Java
Agent Workflows, RAG, Tool Use, Structured Outputs, Evaluation Harnesses, Model Tracing, LangChain, LangGraph, LangSmith, OpenAI API, Anthropic API, Google Gemini, Ollama, vLLM
FastAPI, Flask, Express.js, Node.js, React, Next.js, Flutter, REST APIs, Webhooks, SSE Streaming, Embedded Widgets
PostgreSQL, Firebase, Docker, GitHub Actions, CI/CD, GCP, Observability, Production Debugging
PyTorch, Hugging Face Transformers, sentence-transformers, FAISS, ChromaDB, ARES, BFCL, Information Extraction, Embeddings, NER
Claude Code, Git, Automated Testing, Code Review, Debugging, Rapid Prototyping, Parallel Agent-Assisted Development
Sep 2024 - Dec 2025
An NLP program focused on language modeling, retrieval, and evaluation. My capstone was No RAGrets, a scientific literature review system I built with an industry sponsor.
Coursework: Natural Language Processing, Deep Learning for Natural Language Processing, Data Science and Machine Learning Fundamentals, Conversational Agents, Advanced Machine Learning for Natural Language Processing, Projects in Artificial Intelligence
Sep 2019 - Jun 2023
Core computer science, with algorithms, systems, and full stack web development. I took the NLP course here first, and that is what sent me to the master's program.
Coursework: Data Structures and Algorithms, Intro to Algorithm Analysis, Computational Models, Computer Architecture, Computer Systems and C Programming, Principles of Computer System Design, Foundations of Programming Languages, Full Stack Web Development, Intro to Software Engineering, Mobile Applications, Natural Language Processing, Programming Abstractions: Python