Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions content/projects/gym-progress-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ title: 'gym-progress'
description: 'A no-fluff progress tracker for gym rats — sets, reps, plate maths, weekly trend.'
date: '2025-12-09'
tags: ['typescript', 'react', 'pwa']
featured: false
category: Web
role: Solo project
---

The frustration: every other tracker wants me to log mood, sleep, water intake,
Expand Down
3 changes: 3 additions & 0 deletions content/projects/kmp-weather-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ title: 'KMP Weather'
description: 'A small Kotlin Multiplatform weather app — Room, Koin, Ktor — sharing 90% of the code between Android and iOS.'
date: '2026-02-18'
tags: ['kotlin', 'kmp', 'android', 'ios', 'compose']
featured: true
category: Mobile
role: Solo project
---

A deliberate small project to learn KMP without hand-waving the hard parts:
Expand Down
3 changes: 3 additions & 0 deletions content/projects/link-safety-checker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ title: 'Link Safety Checker'
description: 'A URL safety analyzer that flags suspicious links via pattern matching, redirect tracing, and structural heuristics.'
date: '2026-01-22'
tags: ['python', 'security', 'url-analysis', 'cli']
featured: false
category: Tools
role: Solo project
---

A small Python tool that takes a URL and returns a risk score plus a list of
Expand Down
2 changes: 2 additions & 0 deletions content/projects/system-health-dashboard.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: 'Real-time desktop monitor for CPU, memory, disk, and network with
date: '2026-04-12'
tags: ['c#', 'wpf', '.net', 'observability']
featured: true
category: Desktop
role: Solo project
---

A native Windows desktop application that streams live OS metrics into a single
Expand Down
2 changes: 2 additions & 0 deletions content/projects/tutoria-mobile-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: 'A React Native app that pairs printed manipulatives with a guided
date: '2026-03-04'
tags: ['react-native', 'typescript', 'a11y', 'mobile']
featured: true
category: Mobile
role: Bachelor project
---

Tutoria treats reading practice as a physical-digital loop: a child arranges
Expand Down
6 changes: 4 additions & 2 deletions next.config.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import createMDX from '@next/mdx';
import remarkFrontmatter from 'remark-frontmatter';
import remarkGfm from 'remark-gfm';
import rehypeSlug from 'rehype-slug';
import rehypeAutolinkHeadings from 'rehype-autolink-headings';
Expand All @@ -10,13 +11,14 @@ const nextConfig = {
images: { unoptimized: true },
pageExtensions: ['ts', 'tsx', 'mdx'],
reactStrictMode: true,
transpilePackages: ['three'],
};

const withMDX = createMDX({
extension: /\.mdx?$/,
options: {
remarkPlugins: [remarkGfm],
// remarkFrontmatter strips the gray-matter `---` block so it is not
// rendered as body content (the page reads frontmatter via gray-matter).
remarkPlugins: [remarkFrontmatter, remarkGfm],
rehypePlugins: [rehypeSlug, [rehypeAutolinkHeadings, { behavior: 'wrap' }]],
},
});
Expand Down
Loading
Loading