kochan.dev
A minimalist portfolio showcasing software engineering, backend development, and game development, built with Fresh, Deno, and Markdown-first content.
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 |
Tags
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 | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://gitlab.com/kochan4php/kochan.dev |
|---|---|
| Homepage | https://gitlab.com/kochan4php/kochan.dev |
| Registry Source | gitlab |
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
.mdfiles 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
alttext 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.jsnever 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