TC.
Contact
Independent research × engineering × creative practice

Tan Chaojun

I don't fit into a single discipline. Independent research and hands-on work across AI / LLM systems, cybersecurity, reverse engineering, software engineering, network & systems, and SDR / satellite technology—alongside original music, MIDI engineering and visual creative practice.

My work spans engineering, applied research and creative practice. I investigate unfamiliar systems, develop testable models and turn them into working solutions. The same attention to structure, experimentation and expression connects my technical and creative work.

Cybersecurity Reverse Engineering Software Engineering Network & Systems SDR / Satellite AI / LLM Systems Original Music MIDI / Music Technology Visual Style
Profile

One working pattern, expressed through engineering and art

The technologies changed over time; the operating model stayed consistent: investigate what is really happening, form a testable model, build around the actual constraints, and validate with real systems, data, signals or a creative work. The evidence differs by discipline; the attention to structure and feedback connects them.

01 · Investigate

Start from observable behavior, interfaces, signals, traffic or artifacts rather than assumptions.

02 · Model

Turn incomplete evidence into a compact technical model that can be tested and refined.

03 · Build

Implement software, automation, integration or tooling around the real constraints.

04 · Validate

Use repeatable tests, real workloads, operational outcomes or research evidence to close the loop.

Capability map

Six engineering domains. Two creative practices.

The six engineering domains trace technical projects; the two creative practices cover original compositions, hands-on music technology and visual direction. Explore selected examples and working methods below.

01

Cybersecurity

Authorized web security testing, attack-surface analysis, malware logic analysis, incident-oriented investigation and remediation support.

Evidence: 3+ years across professional security and reverse-engineering roles.
02

Reverse Engineering

Android / JNI / native library analysis, binary interfaces, file and data-stream formats, manual structure inference, firmware logic and encryption-mechanism investigation.

Evidence: malware analysis, JNI / so research, ARM firmware analysis, encrypted-media recovery.
03

Software Engineering

Python, Java, C, C++, JavaScript and VB/VB.NET across desktop, backend, web, automation, custom data-stream decoders, monitoring dashboards and technical tooling.

Evidence: multi-component systems, independent software projects and tested production-style prototypes.
04

Network & Systems

Linux, Docker, IPv4/IPv6, routing, VPNs, OpenWrt, reverse proxies, network-flow handling and cross-platform integration.

Evidence: gateway-level traffic handling, tunnels, multi-environment deployments and long-running self-hosted systems.
05

SDR / Satellite

RF spectrum scanning, signal-type analysis, radio reception, antenna / feed tuning, decoding pipelines, Dockerized delivery and receiver automation.

Evidence: FY-2G / FY-2H reception and decoding, FY-4A demodulation, GK-2A HRIT RF experiments, public Himawari / GK-2A tooling and SDR firmware analysis.
06

AI / LLM Systems & Research

Open WebUI deployment and OpenRouter integration; separately deployed Dify recruitment Agent and native Knowledge Base/RAG experiments; Ollama local inference services, cloud/local LLM systems, speech pipelines and applied ML research.

Evidence: Open WebUI API and data migration, Dify recruitment Agent and CISSP ingestion, Technical Workbench, JP-DTT WebBridge and OSA research.
07 · CREATIVE

Music Composition & MIDI Engineering

Long-term piano improvisation, melodic sketching and original composition since school years; selected music-video releases (2014–2017), digital notation, score-to-MIDI conversion, binary-level MIDI generation and Black MIDI experiments.

Evidence: a substantial body of private improvisations and sketches, selected published music videos, a public game-music transcription, self-written MIDI-generation routines, 100+ MB Black MIDI experiment and music-box synthesis.
08 · CREATIVE

Visual Style & Concepts

Character and scene concepts, color / material / silhouette relationships, visual storytelling and AI-assisted style iteration.

Evidence: ongoing visual concept exploration with explicit character, atmosphere and consistency criteria.
Selected work

Start shallow. Go deep only where it matters.

Each featured project begins with a recruiter-readable summary. Technical details stay collapsed until the reader chooses to open them; the complete public project history is preserved in the archive below.

OPEN WEBUI · DEPLOYMENT · INTEGRATION

Open WebUI — self-hosted chat application and data migration

Independent Docker deployment and troubleshooting of Open WebUI, OpenRouter model integration, SSE streaming and image-request proxy testing, plus migration of external chat histories containing images.

+

Deployment and API integration

  • Deployed Open WebUI with Docker; connected model access through OpenRouter / OpenAI-compatible APIs and checked service configuration and persistence.
  • Integrated and tested SSE streaming-chat responses and image generation / editing request proxy paths.
  • Investigated connection errors and HTTP 500 responses using application logs, HTTP statuses and endpoint checks.

Conversation-data migration

  • Adapted chat-history import for external conversations containing images, including data transformation and validation after import.
  • Checked Open WebUI v0.10.2 persistent files, runtime configuration and imported-conversation usability.

Scope: platform deployment, integration, migration and hands-on debugging; not a custom-built WebUI platform.

DIFY · BUSINESS AGENT · NATIVE KNOWLEDGE BASE

Dify — recruitment assistant Agent and built-in RAG experiments

Independent Dify deployment and application configuration: an Agent supporting a real recruiting workflow, a CISSP document-ingestion test using Dify’s native Knowledge Base, and Ollama model-service connectivity checks.

+

Environment and recruitment Agent

  • Deployed Dify in Docker and linked it to Ollama as a local model-serving backend, investigating container networking, ports, API paths and authentication.
  • Configured a recruitment assistant Agent around job requirements, resumes, prior candidate conversations and recruiter intent, producing draft follow-ups and replies.
  • Considered multiple candidates, repeat communications and changes in job-seeker interest.

Built-in Dify Knowledge Base / RAG trial

  • Imported more than ten CISSP documents using Dify's built-in document processing and indexing, rather than a separately implemented RAG pipeline.
  • The full ingestion run completed after roughly three days and nights, exposing throughput and operating-cost constraints in this particular experiment.

Scope: platform configuration, business Agent and document-ingestion experiment; not claimed as a production rollout.

AI / LLM SYSTEMS · SOFTWARE

Technical Workbench — multi-model AI engineering platform

Self-hosted engineering workspace for long-running technical projects, with provider-neutral model access, persistent state, recoverable runs, tools and artifacts.

+

What I built

  • Unified cloud and local models through a provider-neutral message / tool-call / response / event layer.
  • Supported OpenAI-compatible endpoints, OpenRouter, Ollama and llama.cpp.
  • Designed project / thread / run / turn / tool-call lifecycles with persistence, approvals, pause/resume and failure recovery.
  • Added workspace, artifact, file-library, snapshot and import/export flows.

Why it matters

This project demonstrates AI engineering as a system-design problem rather than a single API integration: models, state, tools, files, recovery and auditability are handled together.

AI / SPEECH · SOFTWARE

JP-DTT WebBridge — live multilingual subtitle pipeline

Real-time pipeline for Japanese TV HLS playback: browser-side audio capture, VAD, GPU ASR, language checking, LLM translation and bilingual subtitle delivery.

+

Implementation

  • HLS.js / HTML5 Video + MSE, Web Audio API, WebSocket, FastAPI, Uvicorn and HTTPX.
  • Virtual-machine WebBridge connected to a host GPU worker.
  • faster-whisper CUDA FP16 for ASR; 14B GGUF via llama.cpp for persistent translation and quality correction.
  • About 9,845 lines of code; 47 automated tests across WebBridge and GPU Worker.

What it proves

End-to-end software engineering across browser media, networking, backend services, GPU inference, local LLMs, scheduling, isolation and graceful degradation.

CYBERSECURITY · REVERSE ENGINEERING

Professional security analysis and reverse engineering

Three consecutive professional roles covering web security testing, malware / binary analysis, incident-oriented investigation and technical reporting.

+

Representative work

  • Authorized web security testing across injection, access-control, upload and information-disclosure risks.
  • Static analysis of malware, worms and infected samples to reconstruct behavior and propagation logic.
  • Reverse-engineering support for abnormal activity and infected-host investigation.
  • Risk grading, remediation guidance, retesting and technical documentation.

Scope

This is a core professional background, not a side skill: security and reverse engineering were the main focus across my formal roles from 2022 to 2025.

SOFTWARE · SECURITY · NETWORK

Internal network traffic inspection tool

Windows command-line tool for identifying sensitive plaintext transmission and prohibited-domain access from mirrored enterprise network traffic.

+

Implementation

  • C / C++ protocol recognition and parsing for HTTP and DNS.
  • Keyword rules to flag likely plaintext-password interactions.
  • DNS-assisted identification of explicitly prohibited domain connections.
  • Structured text output for audit and review.

Why it belongs here

This is a compact example of several domains meeting in one project: packet-level networking, C/C++ development, security requirements and operational auditability.

SDR / SATELLITE · SYSTEMS

Weather-satellite reception engineering & RF experimentation

From hands-on Windows receiver troubleshooting and automation to a rebuilt Linux ground station with modular, cross-container receiving, data access, publishing and operations; complemented by independent RF experiments.

+

Engineering work

  • Remotely helped troubleshoot an operator’s receiving setup, then engineered a Windows TSDuck → dump rotation → himawari-rx → imagery / SATAID pipeline; later ported the automation to Linux — himawari-rx_auto_scripts ↗.
  • After the operator wiped and reinstalled his mini-server for new research, remotely helped rebuild and extend the Linux receiving environment; integrated the automation into Himawari-8_Docker ↗.
  • Evolved the upstream monolithic GK-2A image into a configurable receiving / processing node; added receiver-off processing mode, runtime image products, selective proxying, and multi-architecture support — GK-2A_Hirez_Docker ↗.
  • Separated shared Docker-volume access from receiver lifecycles: cross-satellite File_Manager, independent Samba / FTP File_Server, customized Web presentation, remote access and operations.
  • Tools were used by other real-world HimawariCast operators; upstream himawari-rx credits @tcjj3 for software testing and scripting. Japan-based receiver operator John Bell publicly described the automation as “Very convenient”.

Hands-on RF research

  • Successfully received and decoded FY-2G / FY-2H using a 100×60 cm grid antenna.
  • Demodulated FY-4A at 1697 MHz with SatDump using a 1.5 m dish and patch feed during public testing.
  • Iterated GK-2A HRIT reception through feed positioning, polarization correction and SNR tuning; also tested SatDump, goestools and GNU Radio.
  • Documented real-world constraints including feed quality, dish F/D mismatch and 4G LTE interference around the 1695 MHz experiments.
  • Designed the broader radio stack around an offline-first principle: RF reception, decoding and local timing should remain usable without an Internet connection.
  • Extended reception experiments beyond geostationary weather satellites to successful polar-orbit HRPT reception; built a 1.7 GHz LHCP helical feed and explored X-band feeds/front-end hardware. X-band reception was not successfully completed before relocating to Hong Kong.
  • Prepared hardware for a separate planned automated NOAA APT / METEOR polar-orbit station—motorized antenna tracking, precise local timing and Doppler-aware scheduling—but the tracking stack was not completed or field-tested.
Public RF research log on X ↗

System evolution · from remote Windows debugging to a modular ground station

This collaboration began with remote experiments on a Windows laptop, continued through a rebuilt Linux mini-server, and evolved into independent receiving, storage, publishing and monitoring services. My collaborator had operated a mini-server before we met; he later wiped it for new research, so the subsequent Linux deployment was a fresh build rather than an incremental change to the old installation.

01 · Sep 2020 — getting involved

First learned about GK-2A reception from an experienced operator, then offered help after he encountered a TBS5520SE driver / installation problem. This opened a two-way collaboration: RF domain learning in exchange for troubleshooting and software-engineering help.

02 · Early work — remote Windows laptop

Built a multi-process one-click workflow around TSDuck capture, timed stop/restart, dump handoff, concurrent decoding, image conversion and optional HRIT → SATAID. start.vbs, Batch scripts and separate CMD sessions preserve this original Windows-first design.

03 · Later — mini-server reinstallation and Linux migration

The operator formatted the mini-server’s disk to pursue new research and reinstalled the OS. Remotely helped deploy the receiving environment again, adapted paths, TBS DVB frontends and processing dependencies, and turned the working Windows workflow into reusable Linux scripts / Docker services.

04 · 2021 — composable deployment architecture

Moved beyond the upstream all-in-one GK-2A image. Used named Docker volumes to let GK-2A and Himawari receivers produce data independently while separate file-management, SMB/FTP and website containers consumed and presented it. A collaborator’s 4 May 2021 field post shows himawari-rx and xrit-rx folders under one browser-based file interface on a 24/7 receiver server. Preserved all-in-one compatibility and added configurable proxies, image products, templates and public-access options.

Architectural separation · shared data, independent services
GK-2A RF / decoder ──► GK-2A receiver container ─┐
                                                  ├─► Docker named volumes ─┬─► File Manager · Caddy / Filebrowser
HimawariCast ───────► Himawari receiver container ─┘                         ├─► File Server · SMB / FTP
                                                                            └─► Website · custom templates / latest imagery




                                            Remote dashboard/API · optional proxy / tunnel
                                            Later: separate goesrecv reception-health monitor
GK-2A receiver + Himawari receiver
↓ shared named Docker volumes ↓
File Manager · SMB / FTP File Server · Website
↓ optional remote access / dashboard APIs ↓
Later: goesrecv reception-health monitoring
Real-world use and collaboration: one-click scripts in use (Dec 2020) ↗ · SATAID integration ↗ · Himawari Web delivery ↗ · GK-2A + Himawari Web view ↗ · 24/7 dual-receiver file view (May 2021, collaborator reply) ↗ · independent operator using @tcjj3 scripts (May 2021) ↗. A later May 29 post ↗ also documents xrit2pic image-processing experiments on a Windows desktop with several command windows.

Public RF / SDR research timeline

Selected milestones from the archived @tcjj3 research log; open only if you want the chronology.

+

Built and released cross-platform Himawari receiving automation; documented 1,789 GK-2A images received over 2021-02-05 to 02-18 and a 24/7 mini-server receiving / colouring pipeline.

Original ↗

Down-converted GK-2A from 1692.140 MHz to 32.140 MHz and compared multiple SDR/input paths. Public testing on 2021-04-06 recorded: RTL-SDR + goestools worked, RTL-SDR + GNU Radio failed, while RSP1A + GNU Radio and RSP1A → RSP_TCP → GNU Radio both worked. In that setup, the failing path was the one whose inter-component handoff used UDP; the successful alternatives either accessed the SDR natively or transported the stream over TCP. The observed contrast drew attention to the UDP input boundary and downstream packet handling in that specific receiver stack; it did not establish that all UDP-based receiving systems would fail.

Original ↗

Improved GK-2A signal quality from 92% to 98% by changing feeds, while testing rooftop RF placement, 10 m cable, Bias-Tee / DC isolation and power arrangements. Built a 1.7 GHz LHCP helix for HRPT (13 May), achieved polar-orbit HRPT reception, and began investigating X-band hardware (feed and components documented on 17 May). X-band receiving experiments remained unfinished when I relocated to Hong Kong; X-band reception is not claimed as a completed result.

GK-2A RF tests ↗ · HRPT feed ↗ · X-band equipment ↗

Detected FY-2G at 1687.5 MHz and iterated a custom GK-2A down-converter from an ADF4351 + SPF5189 design to SAWBird+ GOES LNA + HMC213 + LMX2594, while characterizing SNR loss and heat issues.

Original ↗

Expanded to a 1.5 m dish and C/L-band experiments: HimawariCast at 4148 MHz, JCSAT-2B beacon measurement, feed comparison, and investigation of 1667–1700 MHz interference attributed to nearby LTE base stations.

Original ↗

Developed and operationally deployed goesrecv-lock-monitor ↗ for the rooftop GK-2A receiver. Controlled antenna-offset tests showed that large Viterbi disagreement could still coexist with normal reception while Reed-Solomon corrections remained zero; once reed_solomon_errors became non-zero, useful reception was usually already close to the FEC cliff. The original service used that stricter reception-health threshold for HTTP status telemetry, event history and e-mail alerts. In 2026.10 it was sanitized, hardened with dwell-time / hysteresis, alert cooldown and exact nanomsg framing, then released publicly.

PUBLIC · 2026 HARDENED

Successfully decoded FY-2G / FY-2H with a 100×60 cm grid antenna; continued GK-2A HRIT feed / F-D tuning and raised HRIT SNR to about 3 dB.

Original ↗

Demodulated FY-4A at 1697 MHz with SatDump using a 1.5 m dish and patch feed after previous demodulation attempts had failed.

Original ↗

Published an early-stage NOAA APT encoding experiment using custom images, followed by a separate technical-details post; later revisions improved the image reconstruction quality.

Original ↗

Related GitHub repository map

Connected repositories organized by architectural responsibility: receiving, automation, shared data, presentation, operations and experimental extensions.

+
System lineage (repository milestones, not career start dates): Windows Himawari automation → Linux migration and Himawari receiver packaging → GK-2A/Himawari data exported through named Docker volumes → separate Web file manager, SMB/FTP file server, custom Web presentation and external access → receiver-health monitoring → later transport-reliability experiments. The original GK-2A image was an upstream starting point; the multi-container service boundaries, cross-receiver data access, custom processing and deployment options were substantial subsequent engineering work.
Deployment topology: RF hardware / SDR → independent receiver / decoder containers → shared named volumes → independent file manager, file server or Web presentation services → optional ngrok / FRP exposure to external users. Because the rooftop antenna could be shifted by strong wind or accidentally knocked out of alignment, the system later gained an unattended lock-state monitor so loss of reception could be noticed quickly before too many weather images were missed. A separate experimental branch placed the SDR at a router / edge device and transported the USB device over the network with VirtualHere; that branch was retired after bandwidth and packet-loss testing.
Design principle — zero network dependency: the radio stack was deliberately designed so reception, decoding and local timekeeping could continue with no Internet connection. This principle grew out of severe cross-border network-access disruption experienced in 2020. For planned polar-orbit work such as NOAA APT / METEOR reception, reliable local UTC also mattered for pass prediction, scheduled capture and Doppler / frequency-compensation workflows, so a GPS-backed local NTP source became part of the broader radio-system architecture.
Planned extension — autonomous polar-orbit ground station: the intended next branch was an automatic NOAA APT / METEOR receiving station using precise local time, predicted passes, motorized antenna pointing / tracking, Doppler compensation, SDR capture and automatic decoding. A stepper-motor pan/tilt mechanism, control MCU, programmer and later a commercial antenna rotator were prepared, but the tracking/control stack was never completed or properly field-tested before the receiving environment changed after relocation.
Core satellite receiving & decoding
Direct functional/code coupling
Cross-platform orchestration layer around himawari-rx: TSDuck capture loops, automatic decode / image generation, HRIT→SATAID conversion, cleanup, retry / exit handling, and Linux compatibility patching of upstream path separators.
Created 2020.12; later pulled directly into Himawari-8_Docker, so this is a foundational automation component rather than a standalone convenience script.
CORE · AUTOMATION
Containerized Himawari receiving environment that builds SRT / TSDuck, installs himawari-rx, bundles the automation scripts above, schedules image conversion, and exposes results through Caddy and filebrowser.
Created 2021.02; explicit source-level dependency on himawari-rx_auto_scripts.
CORE · INTEGRATION
Evolved bclswl0827/GK2A-Docker from a coupled receiver / decoder / Web image into a configurable GK-2A receiving and processing node: upstream decoder patches, multi-architecture builds, Airspy / RTL-SDR controls, Sanchez high-resolution assets, selectable post-processing schedules, latest-image / JSON(P) outputs and dashboard / filebrowser proxies.
Preserves single-container use while allowing NORECEIVE processing-only deployment, externally hosted dashboards and shared Docker-volume access by separate presentation services. The architectural work extends well beyond using an existing template.
CORE · GK-2A
Mixed personal scripts, including a directly relevant Linux helper that installs Wine/.NET and runs goesrecv-monitor, allowing GK-2A monitoring from a Linux server without keeping a Windows host in the loop.
Repository created 2021.04; the public research log from the same date explicitly describes this GK-2A monitor use.
DIRECT · OPERATIONS
Experimental transport & reliability branch
Public source · proof of concept · data forwarding validated · not field-integrated
Later transport experiment aimed at replacing the unreliable live UDP handoff with an order-preserving input path. In the original HimawariCast tests, the observed contrast was clear: TSDuck → UDP → himawari-rx produced packet loss / reordering symptoms, while TSDuck → packet-dump file → himawari-rx --file processed the same type of stream normally. File2TCP therefore kept the working file-style output path, but replaced disk replay with a named FIFO plus TCP transport so the byte stream could remain ordered while becoming streamable.
Local source files are dated 2024-06-05. The architecture was: TSDuck → named FIFO → C sender → TCP → modified himawari-rx input stack. The rationale came directly from the behavior documented in himawari-rx issue #2 ↗: UDP input was the failing path; file input was the working path, so the design goal was simply to feed the decoder through an ordered transport. A separate 2021 GK-2A/GNU Radio study had already produced the same transport-level pattern: the UDP-coupled receiver path failed, while native device access and an RSP_TCP-based path succeeded. Taken together, these experiments motivated an ordered-transport alternative for the specific receiver implementations under test. They do not imply UDP is inherently unsuitable: an application that reconstructs packet order and validates its own data stream can be robust to out-of-order UDP delivery. Those experiments alone did not establish whether loss, reordering, or downstream handling was responsible for each failure. Because TCP is a byte stream rather than a datagram API, himawari-rx would need a small input-layer change to read the same length-framed packet stream that its --file mode already parses. The FIFO→TCP forwarding code was tested and data forwarding worked, but the modified himawari-rx input path and end-to-end satellite reception test were never completed after the original receiving environment was no longer available.
PUBLIC POC · ORDERED TRANSPORT
Presentation & data distribution
Directly serves GK-2A / Himawari outputs
Independent shared data / presentation service: mounts both GK-2A xrit-rx and Himawari himawari-rx named volumes into Caddy + Filebrowser without running either RF receiver.
This is the early modularization step: one browser / management plane spanning two receiving stacks, with receiver and Web lifecycles no longer bound together.
DIRECT · WEB FILES
A separate file-protocol service, consuming the GK-2A / Himawari named volumes via Samba and FTP; configurable FTP passive ports and host/bridge networking.
Further separation of responsibilities: shared files are no longer coupled to either the receiver process or the browser-oriented File Manager.
DIRECT · FILE SERVICE
Template-development / prototype repository for the web presentation layer: customized Caddy browse templates with light/dark variants, authentication-aware pages, media preview, custom 401/404 pages and the evolving LatestImage viewer.
Created on 2021-08-23 about six hours before GK-2A_Website_Docker. The relationship is directly visible in repository history: several base templates are byte-identical in both repositories, while the website repository carries parameterized .original.tpl derivatives that are copied and rewritten at container startup. Multiple changes were also mirrored within seconds or minutes across both repos—for example the same 401/404 pages on 2021-08-27 and matching LatestImage changes on 2021-08-31 / 2021-09-01. This is therefore best treated as the template R&D / source lineage of the website container, not an unrelated UI companion.
SOURCE · TEMPLATE R&D
Production integration of the presentation layer: packages the custom Caddy templates, generates runtime light/dark + auth/non-auth variants, substitutes title/header/footer placeholders, selects themes dynamically, serves custom 401/404 pages, proxies dashboard / filebrowser endpoints and generates latest-image views over the xrit-rx data volume.
Created later on the same day as caddy-browse-template-modified. Its Dockerfile embeds the template family directly, and entrypoint.sh copies the stored .original.tpl files into runtime templates before applying environment-driven substitutions. In other words: the template repo is the design / experimentation lineage; this repo is the deployable, parameterized integration.
DIRECT · WEB INTEGRATION
Broader radio experiments
Same RF engineering domain, separate receiving path
Parameterised RTL-SDR / PyMultimonAPRS iGate container: callsign/passcode generation, APRS-IS gateway, frequency / PPM / gain / device selection, position and beacon metadata.
Created 2021.06. Strong evidence of broader SDR/radio engineering, but not a component of the weather-satellite decoder.
RADIO · SIDECAR
Offline timing & resilience
Infrastructure for zero-Internet operation and time-sensitive radio workflows
Containerized GPS timing service: GPS receiver → gpsd → local NTP server, exposing GPSD on 2947/TCP and NTP on 123/UDP. The image explicitly removes Internet NTP pools and configures the local GPS/NMEA reference clock instead.
Created 2021.08. This was not merely a generic timing side project: it supported the broader offline-first radio architecture and a planned autonomous polar-orbit receiving branch. Accurate local UTC was needed for NOAA APT / METEOR pass prediction, scheduled capture, antenna pointing / tracking and Doppler / frequency-compensation workflows even when Internet access was unavailable. Hardware preparation for that branch included a stepper-motor pan/tilt mechanism, controller MCU / programmer, and later a commercial antenna rotator; the automatic tracking system itself was not completed or field-tested before relocation. Functional coupling is system-level rather than a direct code import from the GEO decoder stack.
RESILIENCE · LOCAL TIME
Monitoring & unattended operation
Operational tool · public source with documented 2023 field history
Headless reception-health / signal-lock service built around goesrecv decoder telemetry: tracks degradation and recovery, maintains event history, exposes a JSON HTTP API, and can send e-mail alerts for unattended satellite reception.
Originally developed and operationally used in 2023.05–06 for the rooftop GK-2A receiver, where wind or accidental contact could shift the antenna and cause long unnoticed gaps in weather imagery. Controlled antenna-offset tests showed that large Viterbi disagreement could still coexist with normal reception while Reed-Solomon corrections remained zero; once reed_solomon_errors became non-zero, reception was usually already near the FEC cliff. The historical monitor therefore used a stricter RS == 0 operational-health threshold rather than merely mirroring goesrecv's ok flag. The 2026 public hardening retained that criterion while adding dwell-time / hysteresis, alert cooldown, safer credential handling, exact nanomsg framing and a systemd service example.
PUBLIC · OPERATIONAL MONITORING
Remote access & public-service exposure
Operationally coupled to the receiver deployment
Containerized HTTP/TCP tunnelling layer with region, subdomain / remote-address and local-host configuration plus the ngrok inspection UI.
Created 2021.06. Used to expose services running on the LAN receiver host to external users when the residential connection did not provide a practically usable public-facing web endpoint. Its coupling is deployment/topology-level rather than a source-code import from the satellite decoder.
DIRECT · PUBLIC ACCESS
Environment-driven FRP client covering HTTP/HTTPS, HTTPS→HTTP, TCP, UDP and Unix-domain-socket forwarding with generated runtime configuration.
Created 2021.06. Served the same practical role as an alternative self-hosted tunnelling path: publish receiver-side web / file / service ports from a NATed residential network to remote users.
DIRECT · PUBLIC ACCESS
Experimental network-attached SDR branch
Alternative hardware topology; later abandoned after real-world testing
Packages the VirtualHere client so a USB device physically attached elsewhere on the network can appear inside the server-side container. In the SDR experiment, the receiver dongle was attached to a router / edge host and forwarded over the network to the main receiving server.
Created 2021.06. This was a genuine alternative SDR-access architecture rather than generic infrastructure: SDR → router / VirtualHere server → network → receiving host / container. It was later abandoned because raw SDR-style USB transport required high network bandwidth and suffered unacceptable packet loss in satellite reception workloads.
EXPERIMENT · SDR TRANSPORT
RF ANALYSIS · SOFTWARE · REVERSE ENGINEERING

Signal investigation & custom decoder engineering

From spectrum investigation and long-running cross-sample analysis to an inferred data model, Java decoders, order-independent UDP processing, structured output and a working dashboard.

+

Signal discovery & data modelling

  • Surveyed RF spectrum activity and compared signal characteristics to identify signal types and guide data collection.
  • Captured raw streams as TSDuck dump files, then manually examined long-running observations: recurring patterns, changing fields and relationships across samples.
  • Inferred framing and data-organization rules by building hypotheses from incomplete observations, correlating samples and repeatedly testing and refining the model.

Implementation & validation

  • Implemented Java decoders from the inferred model, achieving stable parsing, information reassembly and structured output.
  • Designed application-layer buffering and reassembly for out-of-order UDP datagrams, and validated the UDP-based receiving and decoding workflow.
  • Built a decoder dashboard to inspect processing status, decoder activity and decoded results.

Entered an unfamiliar technical domain, derived a testable model from incomplete and changing observations, then turned that model into a stable, working decoder and monitoring workflow.

REVERSE ENGINEERING

Proprietary media encryption analysis and content recovery

Analyzed a proprietary encrypted-media format using predictable MP4 structure, constrained parameter ranges and iterative verification.

+

Approach

  • Used known plaintext structure in MP4 files as an anchor.
  • Constrained unknown parameters through plausible ranges and data relationships.
  • Iteratively validated recovered structure against expected output.
  • Recovered the encrypted video content without the original password.

What it demonstrates

Constraint-based reasoning and file-format knowledge applied to reverse engineering when both implementation details and key information are incomplete.

SOFTWARE · REVERSE ENGINEERING

Distributed smart-home control and automation system

Custom multi-component system combining a VB frontend, Java control backend, Android TTS service, sensors and local-device protocol integration.

+

Selected components

  • Reverse engineered local device-control protocols.
  • Integrated TTL / RS232 / RS485 buses and multiple sensors.
  • Designed long-running automation around real household scenarios.
  • Connected Android TTS capabilities through JNI / native-library analysis.

Why it matters

This project predates my formal security career and shows that software development, protocol analysis and systems integration were already part of the same working pattern.

APPLIED ML · RESEARCH

OSA screening from overnight snore / breathing audio

Master’s research project building a reproducible pipeline from PSG-related audio to acoustic features, weak-label alignment, Random Forest prediction and event aggregation.

+

Research workflow

  • Processed about 145 PSG-related cases.
  • Built audio segmentation, feature extraction, event alignment, candidate filtering and manual-correction records.
  • Trained a Random Forest on multidimensional acoustic features.
  • Designed acoustic-island / episode aggregation and compared outputs with PSG-AHI and event distributions.

Output

First-author conference paper: A Sleep Audio Preprocessor for OSA acoustic analysis (ICICSP 2026), with the broader project used as a reproducible applied-research pipeline.

MUSIC TECHNOLOGY · BINARY FORMATS · BLACK MIDI

Programmatic MIDI generation — JSON scores, binary writer & Black MIDI

Three distinct early projects: a reusable Standard MIDI File generator for JSON scores, an assembly-driven piano / player and a Visual Basic high-density Black MIDI generator with real playback stress tests.

+

Custom implementation

  • Reverse-engineered SMF event and timing representation for JSON score → MIDI conversion, deriving tick-to-real-time calculations and coding reusable binary file-writing routines.
  • Built an assembly-controlled piano keyboard / MIDI player as a separate project.
  • Reused the MIDI writer to generate continuous full-pitch-range Note On, then Note Off sequences in Visual Basic; output exceeded 100 MB before the generator encountered memory exhaustion.

Playback & empirical observations

  • Experimented with MIDI Out devices and software synthesizers including BASSMIDI Driver / CoolSoft VirtualMIDISynth and SGM-family piano SoundFont playback configurations.
  • Used vanBasCo's Karaoke Player, TMIDI Player, Piano From Above and MIDITrail for playback and note visualization.
  • Observed synthesizer failure and sustained abnormal output under extreme event loads; these were observations, not a claimed diagnosis of the audio fault.

Scope: real binary-format implementation and high-density tests, not merely editing MIDI notes with a sequencer.

ORIGINAL COMPOSITION · DIGITAL AUDIO · MULTIMEDIA

Piano composition and selected independent music-video production (2014–2017)

Years of private piano improvisation and musical sketching, with selected ideas developed into finished works and independently produced videos; also digital notation, arranging, audio transcription and later music-box scoring.

+

Composition and arrangement

  • Built up a substantial private body of piano improvisations and melodic sketches over many years; selected ideas for development into finished compositions and arrangements.
  • Arranged piano works, including a four-hand duet; published selected music and performance videos from 2014 to 2017.
  • Scored with Overture / MuseScore and experimented with multiple VST piano libraries hosted in Cantabile Performer.

Media and transcription

  • Prepared visuals in Photoshop and edited published videos in Corel VideoStudio.
  • Used Melodyne Editor plus manual correction to transcribe the soundtrack of QQ Romantic Rose Garden (Rose Town) into a publicly available piano score.
  • Completed a music-box Lullaby score in 2025 with MIDI / SFZ sound routing.

Public score: QQ Romantic Rose Garden ↗

Independent creative practice

Not a side note. Another part of how I build.

Music and visual work are part of my independent creative history, alongside engineering. Both disciplines have informed how I think about structure, coherence and expression.

01 / MUSIC & SOUND · 2008 ONWARD

Original piano & music-box composition

An extensive private practice of piano improvisation and melodic sketching, with selected ideas developed into finished arrangements, public videos and later music-box compositions.

  • Developed a large body of unpublished piano improvisations and shorter melodic ideas over many years. Only a small, selected portion was arranged into completed works and independently produced music / performance videos published during 2014–2017.
  • Explored melodic development, harmony, expressive atmosphere and piano arrangements, including a four-hand duet arrangement.
  • Prepared scores with Overture / MuseScore; played through Cantabile Performer with VST pianos including Pianissimo, Kontakt, Pianoteq, TruePianos, Imperfect Pianos and Ivory; recorded audio and produced visuals with Photoshop / Corel VideoStudio.
  • Completed an original music-box Lullaby score in 2025, realizing the arrangement through Overture → Cantabile Performer → Mirage → FrozenPlain Music Box Suite (SFZ).
Original compositions · piano arrangements · digital scoring · multimedia production
02 / SOFTWARE · MIDI / BLACK MIDI

Digital music tools & low-level MIDI experiments

Separate engineering projects bridging symbolic music, binary file formats, assembly programming and extreme MIDI event density.

  • Investigated Standard MIDI File structure, manually derived tick-to-time conversion, and implemented reusable binary MIDI-generation routines for JSON score → MIDI conversion, without relying on a ready-made MIDI writer.
  • Independently experimented with an assembly-driven piano keyboard and MIDI player as a distinct software project.
  • Reused the custom MIDI writer in a Visual Basic Black MIDI generator: repeated ascending full-range Note On followed by corresponding Note Off sequences, producing a MIDI file exceeding 100 MB before the generating process ran out of memory.
  • Tested Black MIDI playback and visualization using vanBasCo's Karaoke Player, TMIDI Player, Piano From Above, MIDITrail and MIDI Out software-synthesis workflows including BASSMIDI Driver / VirtualMIDISynth and SGM-family SoundFont settings.
SMF binary encoding · Visual Basic · assembly · Windows MIDI Out · Black MIDI
03 / VISUAL LANGUAGE

Character concepts & visual style

A long-running interest in turning distinct character qualities and narrative intent into recognizable visual directions.

  • Develop visual concepts by coordinating palette, silhouette, clothing, material, gesture, lighting and scene atmosphere.
  • Use AI-assisted image exploration with intentional art direction: specify, compare, revise and check visual coherence across iterations.
  • Study the differences between superficial attractiveness and a consistent expressive identity across iterations.
Character concepts · visual narrative · AI-assisted aesthetic direction.
04 / FICTION · NARRATIVE

Fiction writing & structural storytelling

An unfinished fictional narrative exploring causal constraints, escalating conflict and the expressive contrast between warmth and tragedy.

  • Developed a fictional narrative with an idyllic early relationship as a counterpoint to later losses and increasingly restrictive circumstances.
  • Focused on causal structure: characters repeatedly look for a way out while interacting events close off available paths.
  • Kept fiction separate from memoir and from music composition; writing extended the creative range available for more complex narrative expression.
Fiction · narrative structure · contrast and causality
RESEARCH THREAD · IN PROGRESS

Connecting structure, perception and expression

Engineering models, music compositions and visual styles all involve choices about components, relationships, feedback and coherence. I am exploring how creative intent can be made more explicit and transferable across media. Current research also examines coordination with less-explicit cognition; observations, methods and demonstrable outcomes will be documented as this work develops.

Complete project archive

Everything public, without forcing everything into the first read

The selected work section is selective. This archive keeps the full public technical history available for readers who want breadth, chronology or smaller supporting projects.

View complete archive — 22 public projects

Major systems, smaller prototypes, research work and early engineering projects. Patent-related work is intentionally excluded.

+

“Featured above” means the project has a deeper card in Selected Work. The archive itself is the complete public index.

2008 onward
2014–2017 published

Piano improvisation, original composition & selected video production

Extensive private practice in piano improvisation and melodic sketching, with selected material developed into original arrangements and published performance videos. Digital notation, four-hand arranging, real-time VST performance/audio capture, Photoshop visuals and Corel VideoStudio production; later original music-box scoring.

Original musicOvertureVST
University years

JSON score to MIDI — self-written binary file-generation routines

Analyzed the Standard MIDI File binary layout, manually derived tick/time conversion and implemented reusable MIDI event and file-writing routines to make JSON-extracted music playable as MIDI, without using a prebuilt MIDI generation API.

Binary formatsSMFJSON → MIDI
Early personal project

Assembly-driven piano keyboard & MIDI player

Independent low-level experiment combining assembly programming, keyboard interaction and MIDI playback. Distinct from the JSON-to-MIDI converter and from the later Black MIDI generator.

AssemblyMIDISoftware
2014–2015

Black MIDI — Visual Basic high-density MIDI generator and playback stress testing

Reused custom binary MIDI-writing functions to generate repeating ascending full-range Note On / Note Off sequences; produced a >100 MB MIDI file before memory exhaustion. Used vanBasCo's, TMIDI, Piano From Above, MIDITrail and BASSMIDI / VirtualMIDISynth playback workflows with SGM-family piano SoundFont settings; observed synthesis failures and abnormal sustained output.

Black MIDIVisual BasicBASSMIDI
University years

QQ Romantic Rose Garden soundtrack — assisted transcription and piano score

Extracted pitches with Melodyne Editor, manually corrected and arranged the result and published a piano score from QQ Romantic Rose Garden (Rose Town) background music. Public score ↗

MelodyneTranscriptionPiano score
2026

Open WebUI — self-hosted chat platform integration and conversation migration

Docker-hosted Open WebUI, OpenRouter API access, SSE streaming, image-request proxy tests, HTTP 500 troubleshooting and external chat-history import with image messages.

AI / LLMOpen WebUIDocker
2025 — 2026

Dify — recruitment Agent and native Knowledge Base / RAG experiment

Dockerized Dify and Ollama model-service connection; recruitment-support Agent; ingestion of more than ten CISSP documents through Dify's own Knowledge Base, with a roughly three-day indexing run.

DifyAgent / RAGOllama
2026 — present

Technical Workbench — multi-model AI engineering platform

Self-hosted workspace unifying projects, tasks, conversations, models, tools, files, persistent state, recoverable execution and auditable history across cloud and local model providers.

AI / LLMSoftwareSystems
2026

JP-DTT WebBridge — live multilingual subtitle & GPU inference bridge

Browser-to-GPU pipeline for Japanese TV HLS audio, VAD, real-time ASR, language checking, local-LLM translation and bilingual subtitle delivery across a VM / host boundary.

SoftwareAI / SpeechGPU
2025 — 2026

OSA screening from overnight snore / breathing audio

Master's research pipeline covering audio segmentation, feature extraction, event alignment, Random Forest modelling, acoustic-island / episode aggregation and reproducible evaluation on about 145 PSG-related cases.

ResearchMLAudio
2020.09 — 2021.09 · later extensions

GK-2A / Himawari-8 weather-satellite reception engineering

Progressed from remotely debugging a Windows receiving setup and scripting HimawariCast automation to rebuilding a Linux mini-server and modularizing GK-2A / Himawari receiving, cross-container file access, Web presentation, remote exposure and operations. External operators publicly reported using the automation.

SDRSatelliteDocker
Independent engineering

Signal investigation & custom decoder engineering

Spectrum and signal-type analysis; TSDuck dump capture; long-running, cross-sample structure inference and iterative validation; Java decoding, out-of-order UDP reassembly, stable structured output and an operational dashboard.

RF analysisJavaProtocol REDashboard
2018.05 — 2019.07

Distributed smart-home control & scene-automation system

VB frontend, Java control backend, Android TTS service, sensors, local-protocol reverse engineering, TTL / RS232 / RS485 integration and long-running household automation.

SoftwareSystemsRE
During formal employment

Internal network traffic sensitive-data & prohibited-connection detector

C / C++ tool for HTTP / DNS recognition over mirrored enterprise traffic, identifying likely plaintext-password interactions and explicitly prohibited domain connections with structured audit output.

C / C++NetworkSecurity
2021.06

NFQUEUE-based transparent HTTP mirror-redirection rewriter

Gateway-side Python / NetfilterQueue / Scapy tool that intercepts HTTP response traffic and rewrites mirror-domain references in redirect-related response headers using an external source→replacement mapping list. It preserves payload length by padding or truncating rewritten data, recalculates transport checksums, and manages its own iptables NFQUEUE rule for transparent deployment across downstream clients.

PythonNetfilterQueueScapyiptablesHTTP
2020.08

ARM-architecture SDR firmware algorithm analysis

Static firmware analysis and logic inference used to locate the key path of a registration algorithm despite incomplete hardware access and no full dynamic-debugging environment.

ARMFirmwareRE
2019.06

Android TTS JNI / so call-chain analysis

Reverse engineered Android TTS JNI / native libraries, mapped key interfaces and call chains, validated invocation and used the result to integrate voice output into the smart-home system.

AndroidJNI / soRE
After bachelor’s graduation

Proprietary media encryption analysis & content recovery

Used predictable MP4 structure, constrained parameter ranges and iterative verification to infer weaknesses in a proprietary media-encryption mechanism and recover encrypted video without the original password.

Crypto analysisFile formatsRE
2020.09

Polar-orbit satellite frequency compensation using Orbitron data

VB prototype (Orbitron_Track) using Orbitron satellite-state data to calculate Doppler shift and display uplink / downlink frequency offsets, with room for later antenna and radio-parameter coupling.

SatelliteDopplerVB
2024.12 — 2025.01

Experimental extension of the NOAA APT encoder chain

The core implementation was a set of modified apt-encoder* variants derived from gkbrk/apt-encoder ↗ (AGPL-3.0-or-later). The separate image-conversion / resize utilities were supporting preprocessing tools rather than the core encoder logic. The experiment extended the encoder to test custom image and general-file-to-APT-audio workflows; the linked video records an early test build, while later revisions substantially improved the reconstructed image quality. The modified source has not been publicly released.

Early test-stage video ↗
NOAA APTModified upstream encoderEarly public test
2016 — 2017

Android online examination system

Built question-bank, user, score, exam-session and opening-time controls; Android handled login / answering, while a Servlet-generated web admin interface and JSON backend handled management and business logic.

AndroidJavaWeb
2025 coursework

Random Forest stock-price movement experiment

Course-level group experiment covering historical market-data processing, feature construction, Random Forest training and result analysis.

MLRandom ForestCoursework
Career

Formal roles are only one layer of the technical history

The formal career is security-heavy. Independent software, systems and protocol work began earlier and recurred on a project basis before and alongside formal employment.

2023.09 — 2025.08

Penetration Testing Engineer

Authorized web security testing, vulnerability reproduction, impact analysis, remediation and attack-surface review.

2022.10 — 2023.09

Senior Reverse Engineer

Reverse engineering and security analysis for abnormal activity, malware / infection investigation, internal-network security testing and incident-oriented technical support.

2022.02 — 2022.09

Security Analyst

Malware, worm and infected-sample logic analysis; static reverse engineering; reconstruction of infection mechanisms and response guidance.

Since adolescence · project-based / intermittent

Independent software, reverse-engineering and technical projects

Intermittent, project-based software customization, reverse engineering, system integration, low-level interfaces and non-standard technical problem solving from adolescence, through university, and after bachelor’s graduation.

Best-fit environment

Where this profile is most useful

The portfolio is intentionally not optimized for jobs that require only one narrow stack for ten years.

Strong fit

Cross-domain engineering, applied R&D, AI systems, technical prototyping, complex integration, unusual system investigation, security / reverse-engineering adjacent roles, and teams where the problem is not fully specified in advance.

What I bring

Technical breadth with working depth, rapid transfer into unfamiliar domains, and an additional creative practice in music and visual style. I turn ideas into testable systems while paying attention to the structure and experience of what those systems express.

Contact

Interested in one of the threads?

The public page stays intentionally selective. Detailed technical material can live in repositories, papers, project pages or private discussion where disclosure is appropriate.