PortfolioGyu-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 APIRedisGA4LangSmith
7Operating products
5Live web services
2npm packages
2023.05Developer since

Index · 04—08

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. Read more in developer docs

2024

Korea Expressway Project

Built CRUD features on a hexagonal-architecture codebase, experienced the benefits of layered responsibility design, and kept studying clean architecture from there.

JavaSpring
2024

KMA Road Weather Project

Separated markup from script logic while respecting the existing code style, and applied React's component approach to a JSP environment to improve reuse and maintainability.

JSPJavaScriptReact
2023

KICT Underground Information Center (Web)

Maintained and extended a public-sector web service — building education and management features and adding a visual activity-statistics dashboard to the admin page.

JavaSpringJSPPostgreSQL

Contact

If a number needs checking, I will show it with the code.

meerkatstudio.dev@gmail.com

The derivation of every figure above, the evaluation set, and the checkpoint schema are available with the code on request.

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

A plausible-looking press release still left two questions unanswered: is it actually grounded, and did the last change make it better? I started this to show retrieved evidence beside the draft and compare before and after against the same evaluation criteria.

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 and evidence linking, five-stage AI writing workflow, per-stage input and output storage, checkpoint reruns, and before-after quality comparison

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 I can find the failure and rerun from there.

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 and rerun from that stage. The same evaluation questions compare before and after so I can check whether the change actually improved the result.

Verifiable figures
  • 5 workflow stages
  • v3 run-evidence schema
Shipped implementation
Developer evidence · 0203 / 07
AI Observability · Analytics · Reporting

Ops Console

When product events and AI execution traces live in separate tools under unrelated identifiers, there is no way to explain in one flow whether an AI quality change helped conversion or merely added cost and latency. I started this to join them under a shared operation unit and answer that question.

A unified console reading product outcomes and AI quality at the operation level

Ops Console product screen

Next.js · TypeScript · PostgreSQL · PostHog · GA4 · LangSmith

Period
2026.07 — In development
Team
Solo developer
Owned scope

Read-only PostHog and GA4 collection, normalized LangSmith runs and feedback, shared operation IDs, deterministic aggregation, natural-language analysis, RAG reports, and numeric-claim verification

Hardest problem

When product events and AI traces live in separate tools under unrelated identifiers, it is impossible to explain in one flow whether an AI-quality improvement helped conversion or damaged cost and latency.

Chosen solution

A stable operation ID is issued before each workflow and propagated to LangSmith metadata plus PostHog and GA4 events. Evidence is normalized through privacy-safe allowlists, and dashboards and natural-language reports share the same aggregation contract.

Rejected alternative

Copy numbers manually from each SaaS dashboard into a weekly report. It was rejected because definitions, windows, and project scope drift easily and AI traces cannot be joined to product outcomes reproducibly.

Operating result

The in-development platform includes bounded connectors, project analytics contracts, AI quality, cost, and latency evidence, natural-language reporting, and numeric citation checks. Regression tests and data contracts distinguish false quality gains from independently measured improvements.

Verifiable figures
  • 193 observed AI runs
  • 33.2% requirement violations (64/193)
  • 10.4% failed runs
  • 7.8s P95 latency
Ops Console aggregate · last 30d
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

Repository snapshot at review: 49 commits and 8 version tags, with tests, examples, changelog, and npm distribution maintained together.

Verifiable figures
  • 49 commits
  • 8 version tags
Public repository
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

AskAITo stores an AI image prompt together with the results it produced, as one post you can search and copy from. Browse by tag or category to find a style, and read votes and comments to see how it worked for others.

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.

2024

Korea Expressway Project

Team project

Built CRUD features on a hexagonal-architecture codebase, experienced the benefits of layered responsibility design, and kept studying clean architecture from there.

Java · Spring
2024

KMA Road Weather Project

Team project

Separated markup from script logic while respecting the existing code style, and applied React's component approach to a JSP environment to improve reuse and maintainability.

JSP · JavaScript · React
2023

KICT Underground Information Center (Web)

3-person team

Maintained and extended a public-sector web service — building education and management features and adding a visual activity-statistics dashboard to the admin page.

Java · Spring · JSP · PostgreSQL
See details on the developer docs
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 match paraphrases without losing exact product names and numbers?02p · PostgreSQL · pgvector · FTS/RRF
  2. Q2
    If you rerun from a middle stage, what stops it from corrupting the other stages?02p · TypeScript · Zod · Prisma · revisioned checkpoints
  3. Q3
    After changing a prompt, how do you decide whether it actually got better?02p · Versioned eval sets · baseline/candidate · human gate
  4. Q4
    When a run resumes after an interruption, what stops the same work running twice?02p · OpenAI Agents SDK · PostgreSQL · Prisma
  5. Q5
    When one task leaves records in three different tools, how do you join them?03p · service-issued operation ID · versioned workflow contract
  6. Q6
    How do you confirm that a number in an AI-written report is real?03p · RAG reporting · numeric citation verifier
Public proof
Meerkat StudioNode.js · systemd · systemctl · journalctl · npm CLI · TypeScript · YAML · Codex/Hermes · Next.js · Prisma · PostgreSQL · Auth.js