Soren Larsen

AI & Full-Stack Engineer

About

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.

Experience

Founding Engineer — Levangie Laboratories

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

AI Systems Consultant — Gray Whale

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)

ML/AI Engineer (Part-Time) — Onda Sports Inc.

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)

Teaching Assistant — Baskin Engineering at UCSC

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

Full Stack Developer & Product Consultant — Boardal

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

Projects

Sponsored projects

No RAGrets

Watch demo

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

HomeHelper

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

Personal projects

Ranked AI League

Live demo

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

Personal Portfolio

Live demo

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

Kinlot

Live demo

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

local-agent-bench

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

team-build

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

StockPulse

Live demo

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

SLAC Accelerator Fault Investigator

Live demo

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

Component Kits

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

School projects

EduMUSE

Watch demo

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

UCSC RAG Chatbot

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

Robustness and Domain Adaptation in Transformer-Based QA

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

BiLSTM-CRF for Named Entity Recognition

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

Autoregressive Language Modeling with Transformers (Penn Treebank)

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

Skills

Languages

Python, TypeScript/JavaScript, SQL, Bash, Dart, C/C++, Swift, Java

AI / LLM Systems

Agent Workflows, RAG, Tool Use, Structured Outputs, Evaluation Harnesses, Model Tracing, LangChain, LangGraph, LangSmith, OpenAI API, Anthropic API, Google Gemini, Ollama, vLLM

Frameworks

FastAPI, Flask, Express.js, Node.js, React, Next.js, Flutter, REST APIs, Webhooks, SSE Streaming, Embedded Widgets

Data & Infra

PostgreSQL, Firebase, Docker, GitHub Actions, CI/CD, GCP, Observability, Production Debugging

ML / NLP Research

PyTorch, Hugging Face Transformers, sentence-transformers, FAISS, ChromaDB, ARES, BFCL, Information Extraction, Embeddings, NER

Developer Workflows

Claude Code, Git, Automated Testing, Code Review, Debugging, Rapid Prototyping, Parallel Agent-Assisted Development

Education

Master of Science, Natural Language Processing — University of California Santa Cruz

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

Bachelor of Science, Computer Science — University of California Santa Cruz

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

Contact