St. Louis, Missouri 38.63° N / 90.20° W

Zelun HeFull-stack engineer
building client platforms
and applied AI tools.

Background at a glance

B.S. Computer Science · Mathematics minor · Missouri State University, 2025 Based in St. Louis, Missouri

The best work is still ahead.

Let’s build what comes next.

Let’s talk

Engineering case studies

The decisions
behind the work.

Client platforms, applied AI, and the systems that keep them working.

01 / Applied AI · Internship

Scribsy

I built the audio transcription, structured SOAP generation, and note-management workflow for a clinical documentation application.

Software Engineering Intern · N-of-1 AI
June — August 2025

Scribsy dashboard with clinical note creation and a calendar

Next.js interface · FastAPI backend

  1. Audio
  2. Transcript
  3. SOAP draft
  4. Review

The problem

Turn a recorded conversation into an organized draft that a practitioner can inspect and edit.

My contribution

Connected audio processing, structured note generation, and a Next.js review interface through FastAPI endpoints.

Key engineering decision

Make the generated note a reviewable draft.

Keep the transcript and structured SOAP sections available in the review workflow, so the practitioner can check and revise the output before exporting it.

Inspect the result

Edit a sample. Check the exported note.

The fictional sample visit makes the review workflow available without an account or a live AI request.

  1. Edit the Plan section in the sample visit.
  2. Choose “Save sample changes,” then “Approve & export.”
  3. Open the PDF and check that your edit appears in the Plan.
Architecture & implementation
Structure
Whisper transcription feeds a separate summarization service. The response separates subjective, objective, assessment, and plan fields instead of returning an unstructured paragraph.
API behavior
The backend separates upload endpoints, transcription, summarization, note schemas, and CRUD operations. Invalid audio and processing failures return explicit errors.
Public demonstration
The sample visit uses fictional content. Editing and PDF export can be explored without an account or a live AI request.
Inspectable test coverage
API workflow tests exercise saved SOAP corrections, account isolation and finalization locks. PDF tests extract generated text to check section content, record status and long-note pagination.
Validation scope
The workflow suite substitutes model responses to isolate application behavior. Clinical accuracy and time saved require separate measurement.

DeliveredA review workflow that preserves edited SOAP sections, locks finalized records, and exports structured notes as PDFs.

Next.js · FastAPI · Whisper · Structured SOAP output

No signup · Fictional sample · Edit a draft and export a PDF

02 / Full-stack systems · Personal project

Narrator

I built a manuscript-to-audiobook workspace with persisted narration jobs, private chapter playback, and recovery after interrupted processing.

Full-stack developer · Personal project
Author workspace, authenticated APIs, queue and narration worker

Narrator author studio with an audiobook library, chapter progress, and creation workflow

Author workspace · Persistent narration backend

  1. Upload
  2. SQLite queue
  3. Piper worker
  4. Audio & exports

The problem

Book-length narration outlives an HTTP request. Closing a browser or interrupting a worker should not erase the manuscript or completed chapters.

My contribution

Built the author interface, ownership-checked APIs, transactional job queue, narration worker, and private playback and download routes.

Key engineering decision

Persist the job beyond the request.

A separate worker claims a renewable lease and saves each completed chapter. A retry reuses valid chapter audio, while ownership tokens are checked before completion is committed.

Failure & recovery

An export failure should not mean narrating the book again.

The backend integration test makes FFmpeg unavailable after chapter generation. The job fails with its chapter files preserved. After FFmpeg is restored, a retry completes the export; the test checks that the saved chapter paths are unchanged.

Inspect the recovery tests ↗
Architecture, tradeoffs & validation
Request → queue → worker
Upload parsing stores the book, chapters and queued job in SQLite. The worker claims a job transactionally, narrates chapters with Piper, then uses FFmpeg to produce the complete MP3. The UI reads saved progress independently of the upload request.
Interrupted work and stale attempts
The worker renews its 30-second lease every five seconds. An expired lease can be reclaimed; each attempt receives a new token. Chapter and book completion updates check that token inside a transaction. Repeated crashes are capped so a broken job requires an explicit retry.
Privacy and delivery
Book routes check account ownership. Chapter audio stays outside the public directory and supports HTTP Range requests for seeking. Completed books provide an MP3 and a streaming ZIP of chapter WAV files.
The deployment tradeoff
SQLite and local files keep the backend self-contained on one persistent server. The supported setup shares a local volume between one web process and one worker. Scaling across machines would require shared storage and a different database/queue arrangement; the Vercel frontend alone cannot run the complete pipeline.
Integration coverage
The checked-in suite exercises real Piper audio, MP3/ZIP validity, private access, Range playback, a killed worker, synthesis failure and export retry. The recorded verification uses short manuscripts; full-length-book throughput remains unbenchmarked.
Read the recorded backend verification ↗

DeliveredA persisted manuscript-to-audio workflow with recoverable processing, seekable chapter playback, and MP3 / chapter ZIP downloads.

Next.js · TypeScript · Better Auth · SQLite · Piper · FFmpeg · Docker

No signup · Fictional sample studio · New audio generation requires the persistent backend

03 / Client website · Professional work

Eastern Asteria

I built a responsive corporate and coffee brand website connecting Eastern Asteria’s sourcing, Deep Thrill brand, hospitality, and technology in one visual story.

Software Engineer · Arrows Up
Client website

Eastern Asteria homepage with coffee fields and the heading From Source to Sip

Eastern Asteria · Corporate and coffee brand website

  1. Coffee sourcing
  2. Deep Thrill
  3. Hospitality
  4. Technology

The problem

Present the company’s coffee, hospitality, and technology offerings clearly while keeping a cohesive identity across the corporate site and coffee brand.

My contribution

Built responsive pages and organized the company’s offerings into a consistent visual presentation, connecting the corporate story with the Deep Thrill brand.

Key design decision

Give distinct offerings one coherent story.

Use a consistent page structure and visual language across the company’s business areas, while giving each offering enough space to explain its role.

Review the delivery

Inspect the company story and its navigation.

The full-size homepage capture shows the delivered “From Source to Sip” interface. Use the website link below to explore the company’s offerings and review how the shared navigation and presentation connect them.

Open the full-size delivery capture ↗
Scope & implementation
Content structure
Organized coffee sourcing, the Deep Thrill brand, hospitality, and technology into clear pages within the broader company story.
Responsive presentation
Adapted layouts and imagery for desktop and mobile while maintaining a cohesive presentation across the corporate and coffee brand pages.
Attribution
Client work completed as part of the Arrows Up team. My contribution focused on the website’s responsive pages and presentation.

DeliveredA corporate and coffee-brand site with shared navigation and page structure across the company’s offerings.

Responsive web · Brand storytelling · Client delivery

Professional team work · Arrows Up client website

04 / Client website · Professional project

Holcomb Tree Service

I rebuilt Holcomb Tree Service’s website to make its tree-care services easier to explore and help prospective customers request a consultation.

Software Engineer · Arrows Up
Client website rebuild

Holcomb Tree Service homepage with tree-care service navigation and a consultation form

Holcomb Tree Service · Tree-care website rebuild

  1. Explore services
  2. Find the right care
  3. Request consultation

The problem

Help visitors find relevant tree-care services and move easily from learning about the company to requesting a consultation.

My contribution

Built responsive page layouts, organized the service navigation, and implemented clear consultation entry points as part of the Arrows Up team.

Key design decision

Keep the path from service to consultation clear.

Connect the company’s service information with prominent estimate and consultation actions, so visitors have a clear next step as they explore the site.

Review the delivery

Follow the path from services to a consultation.

The homepage capture shows the service navigation alongside a consultation form. Use the official website below to inspect the service information and consultation entry points described in this case study.

Open the full-size delivery capture ↗
Scope & implementation
Visitor journey
Organized the service information and consultation entry points around the needs of prospective tree-care customers.
Implementation
Rebuilt responsive interfaces and routing with SvelteKit. The linked official website shows the client-facing result.
Attribution
Client project completed as part of the Arrows Up team. This case study describes the Holcomb website rather than my broader work across client platforms.

DeliveredA SvelteKit rebuild connecting tree-care service information with visible consultation entry points.

SvelteKit · TypeScript · Responsive web · Cloudflare

Arrows Up client project · Official website

Keep exploringBack to selected work

02 / Research & publication

Test the assumptions.
Show the evidence.

Published research · ITNG 2026 · Springer

Dozerformer Research

Rethinking the Encoder–Decoder Structure for Transformer-Based Time Series Forecasting

Christopher Housholder · Xuantong Ning · Zelun He · Yifan Zhang

I ran controlled Dozerformer ablation experiments comparing full encoder–decoder, encoder-only, and decoder-only architectures for time-series forecasting, and coauthored the ITNG 2026 paper.

Research question

Which architectural components contribute to forecasting accuracy? Comparing the full model with simpler variants helps isolate the role of each component.

Python · PyTorch · Dozerformer · Ablation studies

2025 CNAS symposium poster: Architectural redundancies in the Dozerformer attention model, by Christopher Housholder, Zelun He, and Vivian Ning
2025 CNAS Undergraduate Research Symposium · 1st place, Computer Science.Open full-size poster ↗
Held-out balanced accuracy and uncertainty intervals for simple sequence baselines, frozen DNABERT, and fine-tuned DNABERT under stratified and similarity-grouped evaluation
Completed CDS benchmark · Held-out results with conditional 95% intervals
809
genes evaluated
40
fresh neural fits
2
evaluation settings

Computational biology · Working manuscript · Not peer reviewed

Gene Classifier

I built an auditable DNA-sequence benchmark comparing fine-tuned and frozen DNABERT with classical baselines, using nested evaluation and gene-level isolation.

Keep related genes together.

Fixed stratified and similarity-grouped folds test generalization under different assumptions. Label audits, sequence provenance, and saved fit boundaries make the evaluation inspectable.

Under the tested protocol, fine-tuning did not establish an advantage over simple DNA-pattern baselines. The manuscript reports the methods, uncertainty, and limitations.

Python · PyTorch · DNABERT · scikit-learn · Nested cross-validation

Developed from research with Dr. Hui Liu at Missouri State University · Continued independently in 2026.

Experience.
From delivery to research.

03 / Experience

Chapter 01 / Now

Building for
the real world.

At Arrows Up, I modernize client websites with SvelteKit, connect CMS and conversion systems, and build reusable foundations for the next launch.

21+client sites rebuiltCMS + CIcontent integration and delivery pipelines

Arrows Up · Software Engineer
May 2026 — present

Chapter 02 / Product

Less friction.
More useful work.

At N-of-1 AI, I built Scribsy’s audio transcription and clinical documentation workflow. A full-stack product connecting recorded conversations, structured notes, and review.

Next.jsFastAPIWhisper

N-of-1 AI · Software Engineering Intern
June — August 2025

Chapter 03 / Research

Better questions.
Honest answers.

From transformer forecasting to DNA classification, I study what a model adds, how to measure it, and where the evidence stops.

ITNG2026 research paper1stComputer Science · CNAS symposium

Missouri State University · Research Assistant, 2025
Independent research · 2026

More projects

More paths
to explore.

8 projects

01

Orbit Image Converter

Browser utility
Orbit image conversion interface with a radial format picker

Drop in images, choose a format from a radial wheel, and export locally. Quality controls, resizing, and batch ZIP downloads keep the workflow in the browser.

JavaScript · Canvas API · File API

In progress

02

Narrator

Audiobook platform
Narrator author studio with audiobook library and creation workflow

Manuscript upload, persisted narration jobs, chapter playback, and audiobook downloads. A worker saves completed chapters and supports recovery after an interrupted job.

Next.js · TypeScript · SQLite · Piper · FFmpeg · Docker

No signup · Sample studio · New audio generation requires the self-hosted backend

03

MyOasis.ai

Wellbeing platform / Internship
MyOasis wellbeing platform homepage

Front-end development for a wellbeing platform’s landing page, with improvements to responsive layouts and React performance.

React · Responsive interfaces · Performance

Professional team work

04

Dozerformer Research

Published research / ITNG 2026
Dozerformer research poster presented at the 2025 CNAS Undergraduate Research Symposium

Encoder and decoder ablation experiments for transformer-based time-series forecasting, with a coauthored ITNG 2026 paper.

Python · PyTorch · Dozerformer · Ablation studies

Coauthored research · My contribution focused on ablation experiments

05

Gene Classifier

Computational biology / Research
Gene classification benchmark results for six models under two gene-level split settings

An auditable coding-DNA benchmark of 809 genes, comparing fine-tuned and frozen DNABERT with classical sequence baselines under nested stratified and similarity-grouped evaluation.

Python · PyTorch · DNABERT · scikit-learn · Nested cross-validation

Working manuscript · Not peer reviewed · Methods, results, and limitations available in the study

06

Real-Time Translation

Android speech translation
Android speech translation interface

A mobile speech transcription and translation app connecting an Android interface to Whisper and Google Cloud APIs through a FastAPI backend.

Kotlin · FastAPI · Whisper

07

Space Invaders

Arcade game
Pixel-art alien waves in Space Invaders

An arcade recreation built to explore game programming: alien waves, player controls, collision handling, and scoring.

C++ · Raylib · Game loops

08

Limit Order Book

Matching engine
Order book interface showing bids, asks, and market statistics

A C++ matching engine using FIFO price-time priority, with latency metrics and a React demo interface for inspecting the order book.

C++ · Matching engine · React

One good conversation can start something.

Let’s build
what’s next.