Software Engineer  ·  Backend & AI agents

Sharlena Luyen

I build backend systems and AI agents that hold bigger things together, from SCIM identity provisioning at HashiCorp to production agents that local small businesses & nonprofits rely on every day.

Go  ·  Ruby on Rails  ·  TypeScript  ·  Java  ·  Postgres  ·  LLMs, RAG, & MCP

6+ yrs
shipping backend & full-stack software
1,000s
of people served daily by agents I built
95%
test coverage reached on a government relocation platform
2 live
agent projects you can try on this page

Selected work

Things I've built

Open source · 5 packagesLive

Google Workspace MCP servers, multi-account, and safe by default

Four local MCP servers that let Claude work across several Google accounts at once: Gmail, Calendar, Drive, and Docs/Sheets/Slides. Plus, one shared accounts package to let each account sign in once and every server use it.

  • Dry run before anything others see. Sends, shares, invites, overwrites, and deletes return a preview (recipients, before/after diffs, who gets emailed) and it only acts on an explicit confirm. Gmail replies can only ever land as drafts (never sent).
  • Least-privilege OAuth. Drive defaults to drive.file, whole-Drive read is a per-account opt-in, and each tool checks only the scope it needs, with errors that name the exact fix.
  • Built for shared state. Lock-filed atomic writes to the token store, an append-only audit log that never records content, retries only on idempotent calls, and a file sandbox that rejects ../ and symlink escapes.
  • Node.js
  • MCP SDK
  • Google APIs
  • OAuth 2.0
  • node:test
Open sourceLive

Leads dashboard: Gmail-synced outreach with Claude-drafted follow-ups

A locally run dashboard over outreach spreadsheets. For every lead, it shows when you last emailed (in either direction), whether it's your turn, a 0–3 priority, and a follow-up status. Tick rows and Claude drafts follow-ups straight into Gmail as drafts; it never sends.

  • Gmail is the source of truth for email and the sheet is the source of truth for leads. Sync writes only changed cells, and SQLite holds bookmarks that can be rebuilt any time.
  • Reuses the MCP servers' sign-in, Gmail helpers, and audit log. Write-back to sheets is off until you turn it on, and edits have history & undo.
  • Node.js
  • SQLite
  • Gmail & Sheets APIs
  • Claude Code
Open sourceLive

Dodgers & LAFC win alerts for food deals

Push notifications when the Dodgers win at home or LAFC scores first in the first half at home (each unlocks a food promo), once right away and again the next morning. A Cloudflare Worker on cron triggers polls the MLB Stats API and ESPN's play-by-play, then publishes through ntfy.

  • Traced dropped alerts to ntfy.sh's per-IP rate limit on Cloudflare's shared egress, wrote it up upstream, and moved to a self-hosted ntfy on Cloud Run's free tier.
  • An integration registry, KV de-duplication, and a deduped ops page when the unofficial ESPN API changes shape, so it never fails silently.
  • JavaScript
  • Cloudflare Workers & KV
  • Cloud Run
  • ntfy
  • GitHub Actions
Independent contractor2025 – present

Custom AI agents for small businesses & nonprofits

Agents that handle the work small teams don't have time for, serving thousands of people a day: customer-service FAQs, inbox & calendar management, social posting on a schedule, review replies, sales leads, and employee check-ins.

  • Human approval by default, with a self-improvement loop that turns approvals into context and updated evals.
  • An operator dashboard for picking models, defining tool schemas, and scoping context & memory.
  • TypeScript
  • Hermes
  • Claude
  • GPT
  • Gemini
  • MCP
Side projectIn progress

Momo, a marketing agent for small teams

A full-service marketing agent for small businesses & nonprofits, built as a set of specialist sub-agents. The first one, Coco, handles content and is in active development.

Momo and Coco are confidential while in development, so the source isn't public. I'm happy to walk through the high-level architecture in an interview.

  • Multi-agent
  • LLMs
Side projectLive

Remote MCP server about my candidacy

A read-only Streamable HTTP MCP server that lets an AI agent query my work history, projects, skills, and contact info through six typed tools. It's stateless (a fresh server per request) and runs on Cloudflare Workers.

  • Eval suite checks every tool's output, and an optional LLM pass checks that the tool descriptions lead a model to pick the right tool.
  • TypeScript
  • MCP SDK
  • Cloudflare Workers
  • Evals
Side projectLive

Clippy, a RAG agent for this site

Ask Clippy about me, and it answers from a curated knowledge file, not from the model's memory. The browser widget calls a Cloudflare Worker that holds the Anthropic API key, so the key never reaches the client.

  • Origin allowlist; capped history, message length, and output tokens; and a cacheable knowledge block to keep repeat requests cheap.
  • TypeScript
  • Anthropic API
  • Cloudflare Workers
  • RAG
Stride Consulting · MoveHQ2022 – 2023

Replacing legacy systems for military family relocations

Delivered 12–17 features (approvals, notifications, data fixes) in three months on a platform replacing legacy government software, and supported an architecture restructure that introduced a notification bus.

  • Cut testing errors by 60%, raised coverage to 95%, and fixed 5,000+ tests.
  • Ruby on Rails
  • React
  • Postgres
  • TDD / XP
HashiCorp, an IBM company2025

SCIM provisioning for HashiCorp Cloud Platform

On the Cloud Enterprise Identity team, I implemented SCIM between external identity providers (Okta, Azure) and HCP, and designed, prototyped, and built groups & group membership.

  • Wrote an ADR proposing a River Queue job design that removed a race condition between jobs.
  • Shipped ahead of the projected timeline for Private Beta customer testing.
  • Go
  • River Queue
  • Postgres

Experience

Where I've worked

  1. 2025 – present

    AI Applied Engineer · Independent contractor, remote

    I build, run, and maintain custom AI features & agents for small businesses and nonprofits, serving thousands of people a day. I own each engagement end to end, from scoping the workflow with the client to shipping and keeping the agent healthy.

    • Agents cover customer-service FAQs, inbox management, calendar organization, social posting & analytics, review replies, sales-lead research and pitch drafts, and employee-satisfaction surveys.
    • Every agent needs human approval by default. A self-improvement loop turns approvals and rejections into context and updated evals, so agents earn autonomy as they prove themselves.
    • Clients run their agents from a web dashboard: pick models, define tools with schemas, handle multi-step tool-calling loops, approve or deny evals, and scope context & memory.
    • Built and open-sourced the multi-account Google Workspace MCP servers and the leads dashboard (above) as reusable tooling for this work.

    TypeScript · bash · n8n · Hermes · Claude · GPT · Gemini · DeepSeek · MCP

  2. 2025

    Backend Software Engineer · HashiCorp, an IBM company, remote

    On the Cloud Enterprise Identity team, I worked on how enterprise customers bring their users and groups into HashiCorp Cloud Platform from the identity providers they already use.

    • Implemented SCIM (System for Cross-Domain Identity Management) between external identity providers (Okta, Azure) and HCP.
    • Designed, prototyped, and implemented group functionality and group membership.
    • Researched and proposed, in an ADR, a River Queue job design that avoided a race condition between jobs.
    • Worked closely with Product Design & PM; the project ran ahead of its projected timeline for Private Beta customer testing.
    • Took part in on-call rotations, pairing, and team planning.

    Go · River Queue · Postgres

  3. 2022 – 2023

    Full Stack Software Engineer · Stride Consulting, remote

    TDD & Extreme Programming on client apps; met or exceeded 98% of sprint goals. MoveHQ (above), and greenfield work at Wunderkind on authentication and graphics standards. Won the Stridee award within three months and set up the company's first official matching fund.

    Ruby on Rails · TypeScript · Go · React · Node · Postgres · Terraform · CircleCI · Jenkins · Datadog · Docker

  4. 2020 – 2022

    Software Engineer · Optum, remote

    Maintained a RESTful microservices app giving patients access to prescriptions, pharmacies, and billing. Debugged 50+ production & staging issues, refactored stored procedures for run-time efficiency, and cut legacy code by 3% (average code-review score 4.5/5).

    Java · MySQL · Jenkins · Docker · Kubernetes · Azure

Skills

Toolbox

Backend
Go, Ruby on Rails, Java, Python, Node, C, C++
Frontend
TypeScript, JavaScript, React, HTML, CSS
AI & agents
LLMs, RAG, MCP servers, tool calling, evals
Data
Postgres, SQL, River Queue, AWS SQS
Infra
AWS, Azure, GCP, Cloudflare Workers, Docker, Terraform
CI & ops
CircleCI, Jenkins, Travis CI, Datadog, New Relic
Practices
TDD, pairing, Extreme Programming, ADRs, on-call

Education

Oregon State University

B.S. Computer Science · minors in Math, Education, & Leadership

  • Karena Dokken Award for Mentorship, OSU College of Engineering
  • $100k Learning Innovation Grant for experiential research in teaching K-12 computer science
  • $20k Last Mile Education Fund grant
  • PDX Women in Tech scholarship to Grace Hopper
  • AAUW scholarship (NWAC)

Beyond work

Outside the terminal

Advocacy, teaching, and community work are where I learned to listen well and follow through, and both of those show up in my engineering.

CASA volunteer, 8+ years

Court Appointed Special Advocate for kids in foster care in Benton & Multnomah Counties (OR) and now Orange County (CA).

Citizen Review Board

Served on Multnomah County's board, pushing for transparency & accountability.

Codemmunity & teaching

Founded a nonprofit in high school for student-built community tech projects; later a K-12 sub, tutor, & CS mentor.

Unusual skills

Raised $30k for Food for Lane County with Paella Fest, gave a TEDx talk, threw 9 surprise parties, and baked a lot of ice cream cakes.

Photography

Portraits & moments that tell a story.

Travel

Places that stayed with me.

Playground

Sharlena trivia

Playground

Terminal

sharlena@portfolio:~

Get in touch

Let's build
something fun

I'm open to backend, full-stack, and AI engineering roles. The fastest way to reach me is to grab time on my calendar or message me on LinkedIn.