Meeting rooms, company events, the training allowance: tools and spreadsheets that lived in different places are now one web app you sign into with your company account.
INCalendar · a separate web app · Google Sheets · Excel
DOOne web app behind the company account
OUT6 features
Problem
HR and general-affairs work was spread across four places: a calendar, a separate web app, Google Sheets and Excel. The same work was redone by hand every month, and when a number was wrong, nobody noticed.
Solution
I merged them into one web app that you sign into with your company Google account. It has six features: meeting-room status, team draws for company events, a member directory, partner restaurants, the training allowance and work-anniversary alerts.
Result
In production for five months with no unplanned downtime. Two internal apps became one, and all 978 automated tests pass.
HR/GA HubAUser A
Home
Meeting rooms
Events
Directory
Restaurants
Training allowance
Anniversaries
Good morning, User ASigned in with company account
Meeting rooms · today
Room A10:00–11:00 Weekly sync
Room B14:00–15:30 Free · suggested
Event team draw
Blind lunchTeam 3: User B · User C · User D
Directory
SearchName or team
User ETeam A
User FTeam B
Partner restaurants · nearest
Restaurant AKorean · 120 m
Restaurant BSnacks · 250 m
Training allowance
Used
Remaining
This month
Work anniversaryUser G · 3 years
BirthdayUser H
SlackAlert every morning
Mock screen, not the real one. Drawn only from the six features this site already describes. Every name, time, place and restaurant is made up.
Matching meal-card usage against attendance records used to be done by eye. Now rules taken from the regulation do the matching automatically.
INMeal-card usage + attendance records
DOAutomatic check, clause by clause
OUTDeduction reasons · manual-review list
Problem
The meal allowance is paid first and eligibility is checked afterwards. Matching meal-card usage against attendance, person by person and date by date, took one to two days every month, and a single miss never surfaced.
Solution
I turned the eligibility requirements in the benefits and expense regulations into rules, clause by clause, and the two data sets are now compared automatically. Cases the rules cannot decide are not waved through; they go to a separate review list.
Result
Run every month for five months. The check takes minutes, and about 30 minutes including the exceptions. The results feed actual payroll deductions, and each one comes with a sentence explaining the deduction to the person concerned.
It finds tomorrow's interviews in the calendar and prepares a reminder draft for each interview type. The send button is left to a person, on purpose.
INTomorrow's interviews in the shared calendar
DOIdentify the type · pick the template
OUTGmail draft (a person sends it)
Problem
The day before an interview, the candidate gets an email with the location, the time and what to bring. Each interview type has its own template, and on busy days it was easy to miss one. A missed email hurts the candidate experience right away.
Solution
Every morning it finds the next day's interviews in the shared calendar and creates a Gmail draft from the right template. Sending is not automated, because an email cannot be taken back once it is sent.
Result
All that is left for the coordinator is to check the draft and press send. Events it cannot read are flagged as warnings in a summary email, and the same draft is never created twice.
An audit tool that finds numbers that don't add up
complete
Audit · Jun 2026
It finds numbers that disagree with each other in a training allowance run on Google Sheets. It never changes a single cell, and its findings became the case for moving to the web app.
INTraining-allowance Google Sheet (3 tables)
DO8 regulation-based checks · read-only
OUTProblem rows · reasons · severity
Problem
The training allowance has monthly and yearly limits and a fixed list of eligible items, but it was run on Google Sheets. The tables were linked only by names and team names, so two people with the same name, or a team name off by one character, quietly broke the numbers, and nobody could tell.
Solution
I built an audit tool that only reads the sheet. It applies eight checks taken from the regulation (same-name people, limits exceeded, team-name mismatches, unreadable dates and more) and writes each problem row, its reason and its severity to a separate tab. It never edits the source: a script silently fixing a document that many people edit every day would leave nobody able to trust it.
Result
What it exposed was not a handful of mistakes but the limit of the spreadsheet itself. Same-name people cannot be told apart in a sheet; each person needs a unique ID. On the strength of that diagnosis, the training allowance moved into the internal web app (HR/GA Hub).
Attendance analysis that doesn't point at the wrong person
complete
Analysis · Mar 2026
The attendance system doesn't record time away during the workday, so I looked at door access logs. Because the output points at specific people, most of the effort went into filtering out false hits.
INDoor access logs (three months)
DODrop short exits · keep 60+ minutes · drop if still inside
OUT"Needs checking" list
Problem
The attendance system records only clock-in and clock-out. Long absences during the day show up only in the door access logs, but counted as-is they flagged everything: a quick step outside, and even people who looked as if they had left but were still inside the building. The output points at individuals, so one wrong hit is an unfounded suspicion about one person.
Solution
Re-entries within 5 minutes are discarded and only absences over 60 minutes are kept. For each remaining case it checks whether the same person passed another door inside the building during that time, and drops the case if so. How many minutes count as an absence is a company decision, so the thresholds sit in one place and are printed on every run.
Result
It covered three months, January to March 2026, producing three monthly reports and one combined report. The list is titled "needs checking", not "violators". Access logs carry no reasons, so the tool only narrows down what to check; a person makes the call.
Catching a migration that would have deleted 46 pages
awaiting rollout
Information architecture · Aug 2026
I redesigned the company handbook every employee opens daily, starting from its structure. I caught in advance that moving it as drafted would delete 46 child pages, and built a migration that never touches the original.
IN8 sections · 46 child pages
DOTake only the new layout · keep the original pages
OUTNon-destructive migration (rehearsal passed)
Problem
The company handbook is the first document a new hire opens and where everyone looks up rules and office information. But its 46 pages were listed flat under 8 sections, so finding anything meant scanning all of it. It is linked from all over the company, so changing its addresses during a rebuild would break every one of those links.
Solution
I narrowed the requirements through interviews, then compared four different mock-ups side by side and picked one. Checking the original against the mock-up item by item before moving anything, I found that the 46 entries in the original were not links but the pages themselves. Pasting the mock-up in as drafted would have deleted all 46 pages at once, so I switched to taking only the new layout and keeping the original pages in place.
Result
The original was never touched. Any operation that would delete even one page is set to be refused outright, and a small rehearsal with dummy pages confirmed the approach works. Page addresses and the sidebar stay as they are. It is now waiting for approval to apply.
I rewrote the regulation from three angles (legal and tax, information security, day-to-day practice) and got CEO approval. The new obsolescence standard then picked the equipment due for replacement.
IN2023 regulation + asset register
DOThree-angle review · 15 changes · obsolescence standard
OUTApproved regulation · 17 replacement picks
Problem
The asset management regulation had not changed since November 2023. When a leaver returned equipment, no clause required checking that data was wiped and accounts were revoked, and the rules for compensating loss or damage were vague. There was no definition of "obsolete equipment" either, so every replacement request was judged case by case.
Solution
I read the regulation separately from three angles (legal and tax, information security, practice), found what needed fixing and applied the 15 most important items. Obsolescence is now defined as "four years after purchase", and compensation is never deducted from pay unilaterally; it can only be claimed by separate agreement. The regulation documents are generated from code rather than edited by hand, so the revised text and the revision history cannot drift apart.
Result
Approved by the CEO. Applying the new obsolescence standard and leadership's criteria to the asset register, I recommended 17 people for laptop replacement in priority order, and reported old equipment that had never been returned along the way.
A proof of concept (PoC) that mapped each employee's skills from existing internal documents alone and traced what stops when one person leaves. All figures are synthetic data.
IN29 team-mission, job-description and OKR documents
DOAI skill extraction · match to people · trace knock-on effects
OUTAttrition-risk report · conditional go
Problem
All the company holds about its people is grade, tenure and team. What it really wants to know is "if this person quit tomorrow, what would stop?", yet who can do what was written down nowhere. Asking every employee to list their skills fails from the start: response rates and standards vary too much.
Solution
Using AI, I pulled skills out of 29 existing documents (team missions, job descriptions and team goals, or OKRs) and linked them to people. Relationships between skills are recorded too, so it can follow knock-on effects such as "with nobody left who can do A, task B stops, and report C that depends on B cannot be filed". Each person and their team lead check what the AI extracted, and their answers are fed back in.
Result
Three months later I re-audited my own report, found figures that could not be reproduced, and corrected them. Merging skills that were duplicates under different names cut the "skills only one person has" from 101 to 83. Instead of a full rollout, I recommended a conditional go to leadership: measure accuracy first on real data from two or three teams.
Rules move out of memory and into checks.Eligibility rules and limits that each person used to read differently become fixed rules: decisions stay consistent, and a rule change means editing one place.
First, find what is wrong but looks normal.A missing attendance record shows up as a zero deduction; a failed read shows up as a success message. These cases are collected and made visible.
Decide first what not to automate.Interview emails stop at the draft; the audit tool stops at the diagnosis. Anything that cannot be undone is decided by a person at the end.
Employee record
Juyoung YouHR Operations · People Systems
Manager, HR & General Affairs at DSRV, a blockchain infrastructure company in Seoul. Through growth from under 50 to about 90 employees: two HR system transitions, recruiting operations for 20+ requisitions as sole owner, and an internal web service that encodes company regulation at the clause level.
Employer
DSRV · Manager, HR & General Affairs
Tenure
Dec 2024 – present
Languages
Korean (native) · English (professional)
Degree
B.S. Business Management, Stony Brook University (SUNY)
Log
Dec 2024JoinedJoined DSRV. Two weeks in, the team lead became unavailable; took over attendance, leave, health screening and statutory administration with no handover.
Feb 2025HRIS buildReplaced the incumbent HR ERP. Configured the admin console with effectively no vendor support, migrated data, integrated badge access, redesigned approvals. Company-wide launch in about five weeks.
2025Office relocationCompetitive bids across 8+ categories, a five-day execution schedule, a four-step inspection chain. Then the corporate filings and landlord cost separation.
2025 –Recruiting operationsSole owner end to end for 20+ requisitions. AI-assisted screening, four channels consolidated into one team account, documented SLAs, interviewer training.
2025 –Onboarding from nothingDesigned the programme, cleared it with the CFO, redesigned it from six steps to eight, and ran it personally from employee number 100 through 152.
Jan 2026ERP transitionDouzone Amaranth10: org structure, approval routing, forms and HR master data plus training. E-approval live; finance and HR modules in progress.
Mar 2026Asset regulation rewriteThree-lens analysis, 15 priority findings implemented, wage-deduction protection codified. CEO approved.
Mar 2026HR/GA Hub shippedInternal HR & workplace platform in production. Five months without unplanned downtime.
Apr 2026New-hire feedback loopDesigned 1:1 coffee chats, analysed ~580 comments alone, briefed the executive team on a top-10 issue list and ~40 actions. Second round redesigned from first-round findings.
2026Zero-defect filings12 corporate registry filings and 10 partner KYB reviews as final reviewer of English submissions. No rejections.
Email is the fastest way to reach me.
Open to HR Operations, People Systems and HR Generalist roles at foreign-owned companies in Korea.