Skip to content
View leekung125's full-sized avatar

Block or report leekung125

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
leekung125/README.md

Lee Kung

Information Systems student at Ohio State (CS minor). I build systems I actually run — a personal operating system, two live commerce ventures, and the tooling that keeps them going.

Most of what's here started as a problem I had, not as a tutorial. Some of it is further along than the rest, and I'd rather it be readable than pretend to be finished.


⭐ Ascension — a personal operating system

Habits with a rank that can regress, finances, journal, live business metrics, and a force-directed dependency graph of its own codebase. Around 20 route groups in one Next.js app with a visual language that's enforced rather than suggested.

Themed on the Nightmare Spell from Shadow Slave, and the theme is load-bearing: a progress bar is easy to ignore, but a rank that can fall and a codex that counts the days you didn't write are harder to.

Next.js 16 · React 19 · TypeScript · Tailwind 4 · Neon Postgres


BlackBox Supplies — live gear site

blackboxsupplies.com — utility and readiness gear, routed by failure scenario instead of product category. Dead battery, flat tire, outage, heatwave: start from the broken thing, decide in two minutes.

Comparison logic is one typed module per product class, because a power station is judged on watt-hours and surge and a tire inflator isn't — a single generic spec table is how gear sites end up useless. Content freshness is tracked per page, and the homepage counter reads 0 paid placements, which is the actual editorial rule.

Next.js App Router · TypeScript · Tailwind


Maison Noctaura — live jewellery store

maisonnoctaura.com — a moissanite jewellery store I run, from product photography and copy through to the pipeline that schedules content across four channels.

The published modules are the interesting ones: content attribution encoded into utm_content so a single string survives the round trip into Shopify's session analytics and tells you which creative idea brought someone in, platform limits that were measured rather than read off a docs page, and a Buffer client built around the fact that an accepted handoff is not a published post.

The orchestrator, claim guard and settings layer are withheld — they carry supplier identity and unit costs, and there's no version of publishing those that doesn't hand a competitor the cost structure.


Data tooling

apify-data-actors — six Python scrapers published on the Apify Store. None run a headless browser, which is the point: the largest competing scraper in one of these niches loses 24.4% of 22,102 runs to timeouts, and a process without a browser can't fail that way.

web-data-toolkit-mcp — the same data behind one hosted endpoint, in the Model Context Protocol registry so MCP clients can call it as a tool. web-data-toolkit.vercel.app


How these get built

I use AI coding tools heavily, Claude Code mainly, and I'd rather say so than have anyone infer it. I'm a student and still early — I'm not claiming I hand-wrote every line. What I decide is what each thing should be, how it behaves when something upstream breaks, and which of my own ideas to throw out. Happy to talk through any of it.

Python · C++ · TypeScript / JavaScript · SQL · HTML / CSS · Git · Docker · Linux

Pinned Loading

  1. ascension ascension Public

    A personal operating system: habits with a rank that can regress, finances, journal, live business metrics, and a force-directed dependency graph of its own codebase. Next.js 16, React 19, TypeScri…

    TypeScript

  2. blackbox-supplies blackbox-supplies Public

    Source for blackboxsupplies.com - a utility and readiness gear site routed by failure scenario instead of product category. Next.js App Router, TypeScript, per-category comparison logic, tracked co…

    TypeScript

  3. noctaura-publishing-engine noctaura-publishing-engine Public

    Selected modules from the publishing engine behind maisonnoctaura.com: content attribution that survives the round trip into Shopify analytics, measured platform limits, and Buffer/Shopify clients.…

    Python

  4. web-data-toolkit-mcp web-data-toolkit-mcp Public

    Remote MCP server: YouTube transcripts (video or whole channel), Google Trends and Google Play reviews behind one key. REST + MCP, hosted.

    JavaScript 1

  5. apify-data-actors apify-data-actors Public

    Six data-extraction Actors published on the Apify Store: YouTube transcripts, channel transcripts, YouTube search, Google Trends, Google Play and App Store reviews. HTTP-only, no headless browser, …

    Python