Skip to content
View didrod205's full-sized avatar

Block or report didrod205

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.

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
didrod205/README.md

✦  About

"검색엔진과 사용자, 둘 다 만족하는 웹을 만든다."

React와 Next.js로 빠르고 검색에 잘 잡히는 웹사이트를 만듭니다 (SEO · AEO · GEO). 그리고 요즘은 한 가지를 깊게 하는 작은 zero-dependency 오픈소스 도구들을 만들어요 — 전부 로컬에서, API 키 없이, 아무것도 업로드하지 않고 도는 것들로.

const me = {
  role:     "Frontend Developer · OSS tool maker",
  building: "30+ tiny, local-first developer tools",
  values:   ["deterministic", "zero-dependency", "nothing uploaded"],
  stack:    ["TypeScript", "React", "Next.js"],
} as const

✦  🔒  Try in your browser — nothing uploaded

The most convenient dev tools are often websites you paste sensitive data into. I rebuilt three of them to run entirely in your browser.

🔍 jwtlens

Decode, audit & verify JWTs — signatures checked with Web Crypto.
↳ a local-first jwt.io
▶ Live demo

🛡️ csp-doctor

Find the XSS holes in a Content-Security-Policy (incl. bypassable CDN hosts).
↳ a local CSP Evaluator
▶ Live demo

Redact PII & secrets from a payload — referential-integrity pseudonyms.
↳ a local PII redactor
▶ Live demo


✦  Open-source tools

All TypeScript · zero runtime deps in the core · CLI + library · ESM + CJS · MIT. Each does one thing well, locally.

🔐 Security & privacy jwtlens · csp-doctor · scrubpii · unspook (invisible / Trojan-Source / homoglyph chars) · envlint (.env secrets & schema) · entropass (password gen + strength) · checkdigit (Luhn / IBAN / ISBN / barcode)

🌐 Web, SEO & content aeolint (SEO/AEO + Google rich-result eligibility) · a11ylint (HTML accessibility / WCAG) · maillint (HTML email client compatibility) · docsanity (docs-site health suite) · linklint (doc link & anchor integrity) · readlevel (readability metrics)

⚙️ Dev config & CI tsconfig-doctor (tsconfig strictness & footguns) · actionbudget (GitHub Actions CI-minute waste) · apilint (OpenAPI quality) · licenselint (license audit + SBOM) · i18nlint (translation files)

📊 Data & formats datalint (CSV/TSV data quality) · nanocsv (tiny CSV parser + CSV↔JSON) · verspec (SemVer toolkit) · pennywise (exact BigInt money math) · spellnum (numbers → words, EN/KO)

🎨 Color, image & media okcolor (OKLab/OKLCH + WCAG) · huebrew (image → palette/theme) · dichroma (color-blindness simulation) · scrubpix (strip image EXIF/GPS — demo) · captionkit (subtitle convert & re-time)

🧰 Time & utilities croniq (cron toolkit) · tempora (human time utils) · calforge (.ics + add-to-calendar links) · fuzzrank (fzf-style fuzzy matcher) · fetchwise (resilient fetch: retries/backoff)


✦  Tech Stack


✦  Stats

stats top langs
streak



activity graph



snake

Popular repositories Loading

  1. didrod205 didrod205 Public

    2

  2. fetchwise fetchwise Public

    Tiny zero-dependency resilient fetch — retries, exponential backoff, timeouts & Retry-After. ~1KB, works everywhere fetch does.

    TypeScript 1

  3. tempora tempora Public

    Human-friendly time in ~1KB — relative time ('3 minutes ago'), duration format & parse. Zero-dependency, localized via Intl.

    TypeScript 1

  4. nanocsv nanocsv Public

    Tiny zero-dependency CSV parser & stringifier — handles quotes, escaped quotes, embedded commas/newlines & CRLF. ~1KB.

    TypeScript 1

  5. fuzzrank fuzzrank Public

    Tiny zero-dependency fuzzy matcher with fzf-quality scoring and match-position highlighting — for command palettes, quick-open & autocomplete. ~1KB.

    TypeScript 1

  6. pennywise pennywise Public

    Exact, zero-dependency money math — BigInt minor units mean no floating-point errors; allocate/split never lose a cent. ~2KB.

    TypeScript 1