Independent developer / product engineering

From systems
to shipped
work.

I design and build practical software across AI systems, biodiversity data, science education and consumer products. The projects, engineering decisions and external records are documented here.

01—05 / Selected projectsResearch · Engineering · Publishing

01 / Selected work

Independent projects, examined closely.

Each case study describes the problem, implementation choices, technology used where documented, and the next open questions.

02 Screenshot of the Space Atlas Moon phases learning simulator
Education / scientific visualisationPublicly available

Space Atlas

Browser-based space-science models that let students change variables and inspect why textbook diagrams simplify reality.

JavaScriptThree.jsCanvas 2DHTML / CSS

Read case study
03 Conceptual diagram of a supervisor connecting four independent project agents
AI systems / operational reliabilityEvolving engineering work

AI Agent Systems

Local orchestration experiments around browser AI sessions, context continuity, deduplicated actions, and project-specific agent workflows.

Node.jsJavaScriptSQLitePlaywright

Read case study
04 Screenshot of the Spoonie cooking and recipes homepage
Consumer product / content designProduct in development

Spoonie

A cooking-oriented web product exploring useful recipe discovery, personal recipe records, and community participation.

Read case study
05 Screenshot of the Sigub online wage calculator
Small web utilitiesPublicly available

Sigub

A focused calculator for estimating pay from hourly wages and work hours.

Read case study

02 / Stack & approach

Methods, not logos.

Tools are shown in the context of actual project decisions—not as an unqualified wall of logos.

01

Interface engineering

3D and 2D models expose spatial relationships that static diagrams can obscure.

In Space Atlas
  • JavaScript
  • Three.js
  • Canvas 2D
  • HTML / CSS
  • GitHub Pages
02

Evidence engineering

Taxonomy matching, occurrence provenance, and a clear boundary between records and inference.

In KoreAves
  • JavaScript
  • HTML / CSS
  • GIS visualisation
  • Data normalisation
  • GBIF occurrence data
03

Agent infrastructure

Persistent state, browser-driven workflows, and explicit execution evidence.

In AI Agent Systems
  • Node.js
  • JavaScript
  • SQLite
  • Playwright
  • Model Context Protocol

03 / Recognition & publications

Work beyond my own sites.

Published writing, independent resource lists and database records are different kinds of outcomes. Each is labelled accordingly and links to its source.

  1. 10,000 Birds Published contribution

    The Bird Photo I Could Use Was Not The Bird Photo I Wanted

    Guest contribution credited to Jihun Oh.

  2. 10,000 Birds Published contribution

    Suncheon Bay Wetland, South Korea — Profile for Birders

    Published location profile with an author credit to Jihun Oh.

  3. Beary Birding External listing

    Online Field Guides resource listing

    KoreAves appears in the online field-guide list.

  4. New Zealand Birds External listing

    International links listing

    KoreAves appears in the site's birding links directory.

  5. FMHY Educational Wiki External listing

    Biology learning resource listing

    KoreAves is linked among bird information resources.

  6. GBIF Literature Catalogue record

    KoreAves web resource recorded in data-use literature

    A literature/data-use catalogue record; not an academic publication, award, or endorsement.

04 / Notes from the field

The thinking behind the work.

Long-form records explain decisions, trade-offs and the difference between an internal milestone and an independently verifiable result.

Working principle

Build clearly. Share sources. Make the next version easier to improve.

About the developer ↗