kochan.dev

A minimalist portfolio showcasing software engineering, backend development, and game development, built with Fresh, Deno, and Markdown-first content.

Active Pure Nim score 65/100 · last commit 2026-08-28 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2026-08-28
Downloads 0
Last Indexed 2026-09-06 07:38

Installation

nimble install kochan.dev
choosenim install kochan.dev
git clone https://gitlab.com/kochan4php/kochan.dev

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
kochan.dev - - - - - - -

README

kochan.dev

Personal portfolio and technical journal of Deo Subarno (a.k.a. Kochan) — a Software & Game Developer based in Indonesia.

Built with a "less is more" philosophy: static-first rendering, Markdown as the CMS, and Islands architecture — only interactive islands ship JavaScript, and the heavy global overlays (command palette, terminal, shortcuts cheatsheet) are lazy-loaded on first use.

Stack

  • Runtime: Deno
  • Framework: Fresh 2.0 (static-first, Islands architecture)
  • UI: Preact + Tailwind CSS
  • Content: Markdown with YAML frontmatter (no database, no headless CMS)

Key Features

  • Markdown-as-CMS — articles and projects written in raw .md files with custom parsing, XSS sanitization, and auto SEO structured data injection.
  • Strict CSP — nonce-based Content-Security-Policy in production; inline scripts must carry a per-request nonce and all assets must originate from the same domain (or a short allow-list). Violations are reported to /api/csp-report.
  • Automated content validation — custom Deno test suite enforces alt text on images and correct heading hierarchy across all markdown files before they hit production.
  • Prebuilt content — articles/projects are rendered to HTML once at build time, so marked/sanitize-html/highlight.js never load at runtime.
  • PWA — service worker with network-first navigation + SWR assets, push notifications, offline fallback, and install support.
  • Lazy global overlays — command palette, terminal CLI, and shortcuts cheatsheet are dynamically imported on first use (and prefetched during idle) so they never bloat the initial bundle.
  • Sub-100ms performance — Deno's fast runtime + no heavy client hydration = good Lighthouse scores without over-engineering.

Project Structure

src/
  routes/       Pages + API + SEO (sitemap, feed, robots)
  islands/      Interactive Preact islands (canvas, widgets, overlays)
  components/   Shared layout, SEO, widgets, overlay parts
  lib/          Content pipeline, markdown, security, canvas engines
  hooks/        Reusable Preact hooks
  scripts/      Build-time content pre-render + icon generation
content/      Articles + projects as Markdown with YAML frontmatter
static/       Assets, icons, fonts, service worker
tests/        Deno unit tests (XSS, content parity, validation)
e2e/          Playwright E2E suite (interactions, overlays, theme/PWA,
              SEO/routing, mobile nav, responsive header nav)

Usage

Install Deno: https://docs.deno.com/runtime/getting_started/installation

deno task dev        # dev server on :8000
deno task build      # pre-render content + production build
deno task start      # serve the production build
deno task test       # run the unit test suite
deno task test:e2e   # build + run browser E2E suite (Playwright, A–E)
deno task check      # fmt + lint + typecheck

Links

  • Live: https://portfolio.kochan.deno.net
  • GitLab: https://gitlab.com/kochan4php/kochan.dev