Reorder homepage sections (journey above projects), refine component styles, update copy and data across projects, timeline, and homelab. Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
+86
-56
@@ -13,6 +13,57 @@ export type Project = {
|
||||
|
||||
export const projects: Project[] = [
|
||||
// --- Featured ---
|
||||
{
|
||||
slug: "homelab",
|
||||
title: "homelab",
|
||||
description:
|
||||
"8-VLAN segmented network, Proxmox VMs/LXCs, SSO via Authentik, full monitoring stack (VictoriaMetrics + Grafana + Beszel + ntfy).",
|
||||
tags: ["Markdown", "Mermaid", "Proxmox", "Monitor", "Backup"],
|
||||
githubUrl: "https://gitea.lerkolabs.com/lerko/homelab",
|
||||
tier: "featured",
|
||||
year: 2026,
|
||||
},
|
||||
{
|
||||
slug: "open-pact",
|
||||
title: "open-pact",
|
||||
description:
|
||||
"Open protocol for AI agent identity, delegation, and portable memory. Ed25519 keypair identity, signed delegation warrants, portable signed memory facts. No central registry.",
|
||||
tags: ["TypeScript", "Ed25519", "DID", "npm", "CC0"],
|
||||
githubUrl: "https://github.com/lerko96/open-pact",
|
||||
tier: "featured",
|
||||
year: 2026,
|
||||
},
|
||||
{
|
||||
slug: "portfolio",
|
||||
title: "portfolio",
|
||||
description:
|
||||
"Next.js 16 static site, self-hosted in a DMZ LXC behind Nginx, deployed via Gitea Actions CI.",
|
||||
tags: ["Next.js", "Dockerfile", "Tailwind", "nginx", "Caddy"],
|
||||
githubUrl: "https://gitea.lerkolabs.com/lerko/portfolio",
|
||||
tier: "featured",
|
||||
year: 2021,
|
||||
},
|
||||
{
|
||||
slug: "helm",
|
||||
title: "helm",
|
||||
description:
|
||||
"Full-stack personal productivity dashboard. Go backend with chi router and SQLite, React + TypeScript frontend. Notes, todos, calendar (CalDAV), clipboard, bookmarks, memos. Self-hosted, single-user, daily use.",
|
||||
tags: ["Go", "React", "TypeScript", "SQLite", "CalDAV"],
|
||||
githubUrl: "https://github.com/lerko96/helm",
|
||||
tier: "featured",
|
||||
year: 2026,
|
||||
},
|
||||
{
|
||||
slug: "claude-vault",
|
||||
title: "claude-vault",
|
||||
description:
|
||||
"A scaffolding system for maintaining a living project knowledge base alongside a code repo, powered by Claude Code skills.",
|
||||
tags: ["Shell", "Developer-Tools", "Claude", "Knowledge-Management"],
|
||||
githubUrl: "https://github.com/lerko96/claude-vault",
|
||||
tier: "featured",
|
||||
year: 2026,
|
||||
},
|
||||
// --- Archive ---
|
||||
{
|
||||
slug: "golf-book-mobile",
|
||||
title: "golf-book-mobile",
|
||||
@@ -20,10 +71,40 @@ export const projects: Project[] = [
|
||||
"Offline-first mobile app for tracking golf rounds, managing your 14-club bag, and getting AI-powered club recommendations from a Smart Caddie. Covers 7 shot types per hole with full scorecard history.",
|
||||
tags: ["React Native", "Expo", "Zustand", "AI", "Mobile"],
|
||||
githubUrl: "https://github.com/lerko96/golf-book-mobile",
|
||||
tier: "featured",
|
||||
stats: "211 commits",
|
||||
tier: "archive",
|
||||
stats: "200+ commits",
|
||||
statusBadge: "Pending App Store Approval",
|
||||
externalUrl: "#",
|
||||
year: 2025,
|
||||
},
|
||||
{
|
||||
slug: "risk-ops",
|
||||
title: "risk-ops",
|
||||
description:
|
||||
"Browser-based strategy dashboard for Risk: Global Domination (SMG Studio). Open one HTML file — no install needed.",
|
||||
tags: ["HTML", "JavaScript"],
|
||||
githubUrl: "#",
|
||||
tier: "archive",
|
||||
year: 2026,
|
||||
},
|
||||
{
|
||||
slug: "twitter-thread-ext",
|
||||
title: "twitter-thread-ext",
|
||||
description:
|
||||
"Chrome extension (Manifest V3) that captures entire Twitter/X threads and exports them as HTML, Markdown, PDF, or image — with metadata preservation and preview before export.",
|
||||
tags: ["Chrome Extension", "Manifest V3", "JavaScript", "jsPDF"],
|
||||
githubUrl: "https://github.com/lerko96/twitter-thread-ext",
|
||||
tier: "archive",
|
||||
year: 2025,
|
||||
},
|
||||
{
|
||||
slug: "notes-app-1.0",
|
||||
title: "notes-app-1.0",
|
||||
description:
|
||||
"Lightweight canvas drawing app with color picker, adjustable brush size, and PNG export. Runs in the browser, no dependencies.",
|
||||
tags: ["HTML5 Canvas", "JavaScript", "CSS"],
|
||||
githubUrl: "https://github.com/lerko96/notes-app-1.0",
|
||||
tier: "archive",
|
||||
year: 2025,
|
||||
},
|
||||
{
|
||||
slug: "plaiground",
|
||||
@@ -55,57 +136,6 @@ export const projects: Project[] = [
|
||||
tier: "archive",
|
||||
year: 2025,
|
||||
},
|
||||
|
||||
{
|
||||
slug: "open-pact",
|
||||
title: "open-pact",
|
||||
description:
|
||||
"Open protocol for AI agent identity, delegation, and portable memory. Ed25519 keypair identity, signed delegation warrants, portable signed memory facts. No central registry.",
|
||||
tags: ["TypeScript", "Ed25519", "DID", "npm", "CC0"],
|
||||
githubUrl: "https://github.com/lerko96/open-pact",
|
||||
tier: "featured",
|
||||
},
|
||||
{
|
||||
slug: "helm",
|
||||
title: "helm",
|
||||
description:
|
||||
"Full-stack personal productivity dashboard. Go backend with chi router and SQLite, React + TypeScript frontend. Notes, todos, calendar (CalDAV), clipboard, bookmarks, memos. Self-hosted, single-user, daily use.",
|
||||
tags: ["Go", "React", "TypeScript", "SQLite", "CalDAV"],
|
||||
githubUrl: "https://github.com/lerko96/helm",
|
||||
tier: "featured",
|
||||
},
|
||||
|
||||
// --- Archive ---
|
||||
{
|
||||
slug: "risk-ops",
|
||||
title: "risk-ops",
|
||||
description:
|
||||
"Browser-based strategy dashboard for Risk: Global Domination (SMG Studio). Open one HTML file — no install needed.",
|
||||
tags: ["HTML", "JavaScript"],
|
||||
githubUrl: "#",
|
||||
tier: "archive",
|
||||
year: 2026,
|
||||
},
|
||||
{
|
||||
slug: "twitter-thread-ext",
|
||||
title: "twitter-thread-ext",
|
||||
description:
|
||||
"Chrome extension (Manifest V3) that captures entire Twitter/X threads and exports them as HTML, Markdown, PDF, or image — with metadata preservation and preview before export.",
|
||||
tags: ["Chrome Extension", "Manifest V3", "JavaScript", "jsPDF"],
|
||||
githubUrl: "https://github.com/lerko96/twitter-thread-ext",
|
||||
tier: "archive",
|
||||
year: 2023,
|
||||
},
|
||||
{
|
||||
slug: "notes-app-1.0",
|
||||
title: "notes-app-1.0",
|
||||
description:
|
||||
"Lightweight canvas drawing app with color picker, adjustable brush size, and PNG export. Runs in the browser, no dependencies.",
|
||||
tags: ["HTML5 Canvas", "JavaScript", "CSS"],
|
||||
githubUrl: "https://github.com/lerko96/notes-app-1.0",
|
||||
tier: "archive",
|
||||
year: 2022,
|
||||
},
|
||||
{
|
||||
slug: "were-hooked",
|
||||
title: "We're Hooked",
|
||||
@@ -114,7 +144,7 @@ export const projects: Project[] = [
|
||||
tags: ["Java", "Spring", "Thymeleaf", "HTML", "CSS"],
|
||||
githubUrl: "https://github.com/lerko96/were-hooked-repo",
|
||||
tier: "archive",
|
||||
year: 2022,
|
||||
year: 2021,
|
||||
},
|
||||
{
|
||||
slug: "mystery-educator",
|
||||
@@ -124,7 +154,7 @@ export const projects: Project[] = [
|
||||
tags: ["JavaScript", "REST APIs", "HTML", "CSS"],
|
||||
githubUrl: "https://github.com/lerko96/mystery-educator",
|
||||
tier: "archive",
|
||||
year: 2022,
|
||||
year: 2021,
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user