Portfolio — Gyu-hun Im · Full-stack / Product EngineerMeerkat Studio · 2025 — 2026

Observe,Build,Operate.

A portfolio of products I took from planning through deployment and operation, together with the engineering decisions behind them.

Every project is a solo build unless collaboration is explicitly noted.

Name
Gyu-hun Im
Role
Full-stack / Product Engineer
Team
Solo developer
Since
2023.05
Node.jssystemdsystemctljournalctlnpm CLITypeScriptYAMLCodex/HermesNext.jsPrismaPostgreSQLAuth.jsPostHogOpenAI APIREST APIAndroid IntegrationOpenAI Agents SDKpgvectorRAGDiscord APIRedisReact FlowZodLangSmith
7Operating products
5Live web services
2npm packages
2023.05Developer since

Index · 0408

Other operating products

More operating services and installable packages beyond the featured cases.

04

my-systemdLive

내가 만든 systemd 서비스만 빠르게 찾고 그룹으로 관리하는 npm CLI

2026.07 — nowNode.js · systemd · systemctl
05

AI한테시켜봄Live

AI 이미지와 프롬프트를 함께 찾고 복사하는 공유 서비스

2026.06 — nowNext.js · TypeScript · Prisma
06

KamoLive

제품 소식 하나를 채널별 콘텐츠 초안으로 바꾸는 운영 도구

2026.04 — nowNext.js · TypeScript · Prisma
07

PluidLive

흩어진 생각을 AI가 요약하고 다음 행동까지 정리해주는 메모 앱

2026.02 — nowNext.js · TypeScript · REST API
08

MeerkatLive

반복 운영을 자동화하고 서버 활동을 보여주는 Discord 봇

2025.06 — nowNode.js · TypeScript · Discord API

Professional Work

Professional team projects

Outside the operating products, I have worked as part of a team. These are the main professional projects. See details in the career portfolio

2026

Road Weather Information System — maintenance and enhancement

Building new features on a live weather-data system while monitoring collection and aggregation batches for execution state and data integrity.

JavaJSPOracleJavaScript
2025

KMA Renewable-Energy Weather Support Platform

Built weather-data collection, query, and statistics features plus the web screens and APIs behind renewable-energy operations.

JavaJSPOracleMyBatisVanilla JavaScriptHTML5CSS3
2024

KMA Road Weather Information System — build

Built road-weather aggregation batches and statistics screens full stack, improving SQL, service-layer responsibilities, and shared JSP structure.

JavaJSPOracleMyBatisVanilla JavaScript
2023

KICT Integrated Management System

Built spatial-data-based facility reservation and training modules, plus the admin features for monitoring operations.

JavaSpring FrameworkJavaScriptMSSQL

Contact

If something needs verification, I will show it with publicly shareable evidence.

meerkatstudio.dev@gmail.com

On request, I share publicly distributable reproduction code, personal-project implementations, diagrams, and figure-derivation evidence. I never share employer or client source code.

Portfolio · 2025—202601 / 07

Gyu-hun Im · Full-stack / Product Engineer

Observe, Build, Operate.

A portfolio of products I took from planning through deployment and operation, together with the engineering decisions behind them.

Every project is a solo build unless collaboration is explicitly noted.

Operating products
7
Live web services
5
npm packages
2
Developer since
2023.05
Developer evidence · 0102 / 07
Product Case · AI Workflow Debugging

brieFFlow

brieFFlow retrieves launch facts and team knowledge to draft grounded press releases, then manages output quality with citation and claim checks plus evaluation gates. Career-draft support remains available, while the core product is the team press-release workflow.

A press-release product grounded in team documents, with the path to each result visible

brieFFlow product screen

Next.js · OpenAI Agents SDK · PostgreSQL · pgvector · RAG · TypeScript

Period
2025.12 — Operating now
Team
Solo developer
Owned scope

Team-document retrieval, a five-stage writing workflow, per-stage inputs and outputs, a process debugger, and before-and-after evaluation

Hardest problem

Even a plausible AI draft can be wrong without revealing why. I needed to separate a bad document search from a bad draft step or a review rule that removed useful content.

Chosen solution

I split press-release writing into five stages: document initialization, note normalization, draft generation, draft review, and selected revision. Each stage saves its input and result so the current state and the point where a problem began stay visible.

Rejected alternative

Sending whole documents to one prompt and inspecting only the final output was rejected because it hides the failing stage and makes the same conditions difficult to verify again.

Operating result

Instead of inspecting only a bad final draft, I can see where the problem began. The debugger and the same evaluation questions compare before and after so I can check whether a change actually improved the result.

Developer evidence · 0203 / 07
AI Workflow Analysis · Safety Rules · Change Validation

AI Process Console

AI Process Console reconstructs AI process state from project-emitted events and connects only authored transitions as node-edge-node graphs. It analyzes the same state evidence over time to locate guardrail conflicts and verifies changes through isolated state-based tests. PostHog and LangSmith metrics are collected for future unified site analysis.

A console that finds where and why AI work failed, then validates changes without affecting production

AI Process Console product screen

Next.js · TypeScript · PostgreSQL · React Flow · Zod · PostHog · LangSmith

Period
2026.07 — In development
Team
Solo developer
Owned scope

Workflow visualization, error trends, safety and quality checks, before-and-after testing, and external analytics collection

Key outcomes
  • Rebuilt execution records as a flow of work stages and routes
  • Found periods where safety-rule warnings or stops repeatedly occurred
  • Compared current settings with proposed changes without touching production
  • Prepared PostHog and LangSmith collection for future unified site analysis
Upfront design
  • DDD — defined responsibilities for processes, attempts, stages, routes, and requirements
  • Event-driven design — rebuilt overall progress from records emitted by each stage
  • Hexagonal architecture — separated core business rules from UI and storage technology
  • Responsibility split — source projects execute; the console analyzes and requests tests
Troubleshooting
  • Branches and retries duplicated routes → kept every run record but displayed each route once
  • Mixed success criteria distorted results → separated reached, evaluated, and completed populations
  • Reproducing safety-rule failures required live changes → tested copies while preserving the original
  • External metrics looked causal → kept them as supporting signals, not failure verdicts
Developer evidence · 0304 / 07
CLI · Policy Model · Tests

SkillBoard

As skills accumulate, a flat list blurs installed with allowed-right-now, and checking policy becomes a manual checklist repeated every task. I built this so an agent can tell what is permitted now, and why the rest is blocked, without asking.

A policy CLI that separates installed skills from skills allowed now

Open GitHub repository
SkillBoard product screen

Node.js · TypeScript · YAML · npm CLI · Codex/Hermes

Period
2026.07 — Operating now
Team
Solo developer
Owned scope

CLI information architecture, YAML policy model, workflow routing, pre-use guard, action cards, cleanup, migration, and documentation

Hardest problem

As skill inventory grows, a raw list confuses installed with currently allowed and turns policy changes into a repeated manual checklist.

Chosen solution

Inventory and allowed state are separate. Brief, route, and guard form the read path, while policy changes become explicit, approvable action cards.

Rejected alternative

Rewrite SKILL.md files per agent or expose only the installed list. It was rejected because provenance and workflow policy would be lost.

Operating result

Installed inventory and allowed state stay separate, so a policy change is one approvable action card. Tests, examples, changelog, and npm distribution are maintained together.

Product Index · 04—0805 / 07

Other operating products

More operating services and installable packages beyond the featured cases.

04my-systemd product screen

my-systemd

my-systemd is an npm CLI that surfaces only the systemd services you created on a VPS or home server, with their status and logs. Save the ones you check often as groups, and review batch control commands as a dry run first.

2026.07Operating now · Node.js · systemd · systemctl · journalctl
05AskAITo product screen

AskAITo

A prompt-sharing site for saving, browsing, and copying AI image prompts with their results.

2026.06Operating now · Next.js · TypeScript · Prisma · PostgreSQL
06Kamo product screen

Kamo

Kamo turns one product update into channel-ready drafts for blogs, social posts, and shorts. Choose only the channels you need, then review, approve, and prepare the content for publishing in one flow.

2026.04Operating now · Next.js · TypeScript · Prisma · PostgreSQL
07Pluid product screen

Pluid

Pluid groups quick notes by topic and proposes a summary and a next action for each. Every proposal waits for you to approve or dismiss it, so the final state of your notes stays yours.

2026.02Operating now · Next.js · TypeScript · REST API · Android Integration
08Meerkat product screen

Meerkat

Meerkat automates recurring Discord server operations and brings member activity and participation into one place. The bot, API server, statistics dashboard, and documentation site are developed and operated together in one repository.

2025.06Operating now · Node.js · TypeScript · Discord API · Redis
Professional Work06 / 07

Professional team projects

Outside the operating products, I have worked as part of a team. These are the main professional projects.

2026

Road Weather Information System — maintenance and enhancement

Team project

Building new features on a live weather-data system while monitoring collection and aggregation batches for execution state and data integrity.

Java · JSP · Oracle · JavaScript
2025

KMA Renewable-Energy Weather Support Platform

Team project

Built weather-data collection, query, and statistics features plus the web screens and APIs behind renewable-energy operations.

Java · JSP · Oracle · MyBatis · Vanilla JavaScript · HTML5 · CSS3
2024

KMA Road Weather Information System — build

Team project

Built road-weather aggregation batches and statistics screens full stack, improving SQL, service-layer responsibilities, and shared JSP structure.

Java · JSP · Oracle · MyBatis · Vanilla JavaScript
2023

KICT Integrated Management System

3-person team

Built spatial-data-based facility reservation and training modules, plus the admin features for monitoring operations.

Java · Spring Framework · JavaScript · MSSQL
See details in the career portfolio
Contact07 / 07

Gyu-hun Im · Full-stack / Product Engineer

Contact

meerkatstudio.dev@gmail.com
Questions I can answer

Each question is answerable from the implementation and operating design shown here. Under each question is the page holding the answer and the technology behind it.

  1. Q1
    How do you catch paraphrased phrases without missing exact product names or numbers?02p · PostgreSQL · pgvector · FTS/RRF
  2. Q2
    How do you find the current writing state and the stage where a problem began?02p · TypeScript · Zod · Prisma · revisioned checkpoints
  3. Q3
    How do you determine whether a prompt change actually improved results?02p · Versioned eval sets · baseline/candidate · human gate
  4. Q4
    How did you separate AI runtime state from the product's document-writing state?02p · OpenAI Agents SDK · PostgreSQL · Prisma
  5. Q5
    How do you reconstruct a node-edge-node process without guessing from event order?03p · versioned event contract · authored topology · React Flow
  6. Q6
    How do you revalidate a guardrail conflict without changing production?03p · Zod · immutable baseline · isolated TEST replay
Public proof
Meerkat StudioNode.js · systemd · systemctl · journalctl · npm CLI · TypeScript · YAML · Codex/Hermes · Next.js · Prisma · PostgreSQL · Auth.js