+ I'm currently hosting an SMP (dm me on discord). Also I'm pretty
+ much cooking daily, because im bulking through out the non-summer seasons.
+ And me and my pal Pepa are working on an
+ education app so we can study more efficiently, It's called{" "}
+ maturita.c!
+
+
+
+
+
+
+
+
+
+ README.MD
+
+
+
+ martin@dvorakmortonxd:
+ ~$ cat about_me.md
+
+
+
+ Hey, I'm Martin Dvořák — a 17(soon to be 18)-year-old IT student based
+ in the Czech Republic, specializing in network management and
+ administration at sssvt.cz. I'm a
+ sophomore and I have wanted to go to this school since 7th grade (2022) so
+ I'm happy I got in in 2025, the school is pretty cool so if you are in
+ middle school and interested in IT, make sure to check it out. I'm a
+ homelabber and developer heavily focused on self-hosting{" "}
+ literally everything, writing code (for example games for gamejams),
+ tinkering with GNU/Linux or Musl/Linux systems and retro hardware. I own a
+ small collection of laptops ranging from 2009 to 2014 (and ofcourse my 2025
+ macbook), most of these found in ewaste. In my free time I mostly spend
+ time with my gf {"<"}3, I also spend a bit of time setting up my self
+ hosted stuff (like jellyfin or gitdxd), and also when I'm in my gaming
+ mood I play terraria (around 1300hr playtime btw) and minecraft modpacks
+ with mekanism and/or create. I also go to the gym around 3-5 times a week,
+ running a PPL split focused on strength/powerlifting and especially SBD. I
+ take a big focus on my health and physique.
+
+
+
+
+
+
+
+
+
+
+ SERVICES.HTML
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GITDXD.GIT
+
+
+
+ GitDXD
+
+
+ My Self-hosted Git Instance
+
+
+
+
+
+
+ My very own forgejo git instance, originally started as a private git
+ instance for me and my friends to boycott GitHub but I've made it
+ public now so. Join at{" "}
+
+ git.dvorakmortonxd.dev
+
+ .
+
+
+
+
+
+
+
+
+
+ CONTRIBUTIONS@GITDXD.GIT
+
+
+
+
+
+
+
+
+
+
+ REVIVAL.INC
+
+
+
+ Revival inc.
+
+
+
+
+
+ What is it?
+
+
+
+ It's a game I made for the game jam "Mini Jame Gam #55", the
+ theme was Necromancy and the special item was Milk, the game also includes
+ a tutorial so if you wanna try it do it. Check it out at{" "}
+
+ itch.io
+ {" "}
+ or play{" "}
+
+ here
+
+ .
+
+
+
+
+
+
+
+
+
+ RUSTYWOLF.RS
+
+
+
+ Introducing RustyWolf
+
+
+
+
+
+ What makes it so cool???
+
+
+
+ A lightweight browser made in Rust with WebKitGTK. It's the successor
+ to my previous project Venturesome, aiming to provide a fast and minimalist
+ browsing experience. It's a perfect browser for old machines that
+ struggle with modern browsers. Check it out at{" "}
+
+
+ GitDXD
+
+
+ .
+
A Windows 7 desktop edition of my personal website.
+
+
+
+ Double-click an icon on the desktop (or open the
+ Start menu) to launch an application. Everything you used to
+ scroll through now lives inside its own little window.
+
+
+
Drag windows around by their title bar.
+
Use the buttons at the top-right to minimize, maximize or close.
+
Search the web from the taskbar at the bottom.
+
Switch back to the terminal theme from the tray, bottom-right.
+ Hey, I'm Martin Dvořák — a 17(soon to be 18)-year-old IT student based in the
+ Czech Republic, specializing in network management and administration at{" "}
+ sssvt.cz. I'm a sophomore and I have wanted to
+ go to this school since 7th grade (2022) so I'm happy I got in in 2025, the
+ school is pretty cool so if you are in middle school and interested in IT, make
+ sure to check it out. I'm a homelabber and developer heavily focused on
+ self-hosting literally everything, writing code (for example games for
+ gamejams), tinkering with GNU/Linux or Musl/Linux systems and retro hardware. I
+ own a small collection of laptops ranging from 2009 to 2014 (and ofcourse my 2025
+ macbook), most of these found in ewaste. In my free time I mostly spend time with
+ my gf {'<'}3, I also spend a bit of time setting up my self hosted stuff (like
+ jellyfin or gitdxd), and also when I'm in my gaming mood I play terraria
+ (around 1300hr playtime btw) and minecraft modpacks with mekanism and/or create. I
+ also go to the gym around 3-5 times a week, running a PPL split focused on
+ strength/powerlifting and especially SBD. I take a big focus on my health and
+ physique.
+
+
+
+ );
+}
+
+function NowApp() {
+ return (
+
+
+ martin@dvorakmortonxd:~$
+ cat now.txt
+
+
+
+ I'm currently hosting an SMP (dm me on discord). Also I'm pretty much
+ cooking daily, because im bulking through out the non-summer seasons. And me and
+ my pal Pepa are working on an education app so we
+ can study more efficiently, It's called{" "}
+ maturita.c!
+
+ My very own forgejo git instance, originally started as a private git instance for
+ me and my friends to boycott GitHub but I've made it public now so. Join at{" "}
+ git.dvorakmortonxd.dev.
+
+ It's a game I made for the game jam "Mini Jame Gam #55", the theme was
+ Necromancy and the special item was Milk, the game also includes a tutorial so if you
+ wanna try it do it. Check it out at{" "}
+ itch.io or play{" "}
+ here.
+
+
+ );
+}
+
+function RustyWolfApp() {
+ return (
+
+
Introducing RustyWolf
+
+
+
+
What makes it so cool???
+
+ A lightweight browser made in Rust with WebKitGTK. It's the successor to my
+ previous project Venturesome, aiming to provide a fast and minimalist browsing
+ experience. It's a perfect browser for old machines that struggle with modern
+ browsers. Check it out at{" "}
+ GitDXD.
+
+
+ );
+}
+
+export const APPS: AppDef[] = [
+ { id: "welcome", title: "Welcome", icon: "👋", color: "#2f7fc4", width: 620, height: 430, content: },
+ { id: "about", title: "About Me", icon: "🧑💻", color: "#0d5aa7", width: 720, height: 470, content: },
+ { id: "now", title: "now.txt", icon: "📝", color: "#6a4fb3", width: 560, height: 320, content: },
+ { id: "socials", title: "Socials", icon: "🔗", color: "#0a7cc1", width: 700, height: 460, content: },
+ { id: "services", title: "Services", icon: "🖥️", color: "#157347", width: 760, height: 480, content: },
+ { id: "projects", title: "Projects", icon: "🎮", color: "#b3005f", width: 860, height: 560, content: },
+ { id: "hardware", title: "Hardware", icon: "💻", color: "#1257a0", width: 860, height: 560, content: },
+ { id: "friends", title: "Friends", icon: "🫂", color: "#c0392b", width: 780, height: 560, content: },
+ { id: "gitdxd", title: "GitDXD", icon: "🐙", color: "#333333", width: 780, height: 560, content: },
+ { id: "contributions", title: "Contributions", icon: "📊", color: "#157347", width: 900, height: 470, content: },
+ { id: "gym", title: "Gym SBD", icon: "🏋️", color: "#c0392b", width: 620, height: 380, content: },
+ { id: "revival", title: "Revival Inc.", icon: "🧟", color: "#6a4fb3", width: 740, height: 560, content: },
+ { id: "rustywolf", title: "RustyWolf", icon: "🐺", color: "#0a7cc1", width: 780, height: 560, content: },
+];
+
+export const APP_BY_ID: Record = Object.fromEntries(
+ APPS.map((a) => [a.id, a])
+);
diff --git a/src/app/components/useTheme.ts b/src/app/components/useTheme.ts
new file mode 100644
index 0000000..6296b7d
--- /dev/null
+++ b/src/app/components/useTheme.ts
@@ -0,0 +1,45 @@
+"use client";
+
+import { useSyncExternalStore } from "react";
+
+export type Theme = "skeuo" | "terminal";
+
+const EVENT = "theme-change";
+
+function subscribe(callback: () => void) {
+ window.addEventListener(EVENT, callback);
+ window.addEventListener("storage", callback);
+ return () => {
+ window.removeEventListener(EVENT, callback);
+ window.removeEventListener("storage", callback);
+ };
+}
+
+function getSnapshot(): Theme {
+ return document.documentElement.getAttribute("data-theme") === "terminal"
+ ? "terminal"
+ : "skeuo";
+}
+
+function getServerSnapshot(): Theme {
+ return "skeuo";
+}
+
+export function setTheme(theme: Theme) {
+ if (typeof document === "undefined") return;
+ document.documentElement.setAttribute("data-theme", theme);
+ try {
+ localStorage.setItem("theme", theme);
+ } catch {
+ /* ignore */
+ }
+ window.dispatchEvent(new Event(EVENT));
+}
+
+export function useTheme() {
+ const theme = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
+ return {
+ theme,
+ toggle: () => setTheme(theme === "skeuo" ? "terminal" : "skeuo"),
+ };
+}
diff --git a/src/app/data.ts b/src/app/data.ts
new file mode 100644
index 0000000..48925ff
--- /dev/null
+++ b/src/app/data.ts
@@ -0,0 +1,261 @@
+export interface Social {
+ name: string;
+ icon: string;
+ url: string;
+}
+
+export interface CodingProject {
+ title: string;
+ desc: string;
+ img: string;
+ url: string;
+}
+
+export interface TechProject {
+ title: string;
+ desc: string;
+ image: string;
+}
+
+export interface Friend {
+ name: string;
+ url: string;
+ realUrl: string;
+ img: string;
+ desc: string;
+ iframe: boolean;
+}
+
+export const socials: Social[] = [
+ { name: "Instagram (main)", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd/" },
+ { name: "Instagram (gym)", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd2/" },
+ { name: "SoundCloud", icon: "/soundcloud.svg", url: "https://soundcloud.com/martin-dvorak-185636305" },
+ { name: "TikTok", icon: "/tiktok.svg", url: "https://www.tiktok.com/@dvorakmortonxd" },
+ { name: "Snapchat", icon: "/snapchat.svg", url: "https://www.snapchat.com/add/dvorakmortonxd" },
+ { name: "GitDXD", icon: "/github.svg", url: "https://git.dvorakmortonxd.dev/dvorakmortonxd" },
+ { name: "LinkedIn", icon: "/linkedin.svg", url: "https://www.linkedin.com/in/martin-dvorak-32012a394/" },
+ { name: "Itch.io", icon: "/itchio.svg", url: "https://martin-dv.itch.io" },
+ { name: "Discord", icon: "/discord.svg", url: "https://discord.com/users/555745543763001364" },
+ { name: "Reddit", icon: "/reddit.svg", url: "https://www.reddit.com/user/M4RT1NYT/" },
+ { name: "Twitter", icon: "/twitter.svg", url: "https://x.com/pepicskopcecek" },
+ { name: "Quipee", icon: "/quip.svg", url: "https://quipee.me/dvorakmortonxd" },
+];
+
+export const codingProjects: CodingProject[] = [
+ {
+ title: "Hospital Execution (Unfinished)",
+ desc: "the first ever real game I made, in pygame. I've abandoned it.",
+ img: "/coding-1.webp",
+ url: "https://martin-dv.itch.io/hospital-execution-demo",
+ },
+ {
+ title: "Underbaranoia (Finished)",
+ desc: "basically a undertale like infinite fight simulator that gets progressively harder, made in pygame.",
+ img: "/coding-2.webp",
+ url: "https://martin-dv.itch.io/underbaranoia",
+ },
+ {
+ title: "Offline memer (Finished)",
+ desc: "parody of the discord bot \"Dank Memer\" made in batch. (this was technically my first ever game I published).",
+ img: "/coding-3.webp",
+ url: "https://martin-dv.itch.io/offline-memer",
+ },
+ {
+ title: "4y (Forgotten)",
+ desc: "just a renamed fork of the ly login manager (based login manager btw I love it), no extra features, just a rename, its actually outdated so dont use it.",
+ img: "/coding-4.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4y",
+ },
+ {
+ title: "4rch linux (Forgotten)",
+ desc: "same as above, basically just a renamed fork of arch linux with calamares installer, also outdated and not maintained at all so no use please.",
+ img: "/coding-5.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4rch-linux",
+ },
+ {
+ title: "You_Are_An_Idiot_Virus.py (Finished)",
+ desc: "this is just a python script that just spams blinking \"you are an idiot\" windows, made it as a prank I think, not really sure rn.",
+ img: "/coding-6.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/uranidiot",
+ },
+ {
+ title: "Venturesome (Discontinued)",
+ desc: "a browser I wrote in python using PyQtWebEngine with PyQt5, actually pretty cool and modular but I couldnt get past the stage of adding a tab system, basically surpassed by my other project: RustyWolf.",
+ img: "/coding-7.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/Venturesome",
+ },
+ {
+ title: "Mandelbrot set in Pygame (Finished)",
+ desc: "a python pygame script that renders the mandelbrot set, made it when I was fascinated by how it looks and ngl it still looks cool af.",
+ img: "/coding-8.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/mandelbrot",
+ },
+ {
+ title: "Underpygametale (Unfinished)",
+ desc: "a remake of undertale written in pygame, got it to about the flowey part (at the beginning) and didnt touch it in a long time.",
+ img: "/coding-9.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/underpygametale",
+ },
+ {
+ title: "Many discord bots...",
+ desc: "so many of them, once I (allegedly, pls discord dont ban me) even wrote a \"self-bot\" which auto-advertised a minecraft server on minecraft discord server in lfg-hosting every two hours, around 800 people joined in total.",
+ img: "/coding-10.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/PYGETEX",
+ },
+ {
+ title: "MMO minecraft plugin (Unfinished)",
+ desc: "a minceraft plugin with custom bosses, items, and functions. pretty barebones and basic but I did it all manually before vibecoding was even a thing so what.",
+ img: "/coding-11.webp",
+ url: "https://www.youtube.com/watch?v=cSAX5Ds61ac",
+ },
+ {
+ title: "Many many failed minecraft servers..",
+ desc: "creative games, softcraft, frostville, eusmp, eurthsmp, softsmp and many other SMPs that died later on. I cant even count how many mc servers I had in total.",
+ img: "/coding-12.webp",
+ url: "https://discord.gg/KtHRm9kRmy",
+ },
+ {
+ title: "Swords and Sandals 2 pygame remake (Unfinished)",
+ desc: "an unfinished remake of swords and sandals 2 in pygame, I got bored of it and never finished it but ill finish it one day for sure lol.",
+ img: "/coding-13.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/sas2py",
+ },
+ {
+ title: "Llama.cpp server",
+ desc: "my llama.cpp vm running on my proxmox with a gpu passthroughed RTX 3070, dm me if u wanna test it lol.",
+ img: "/coding-14.webp",
+ url: "https://ai.dvorakmortonxd.dev/",
+ },
+ {
+ title: "Batch MSDOS Simulator (Finished)",
+ desc: "a freshman school project on making games in batch, it was like an OS simulator with a web browser, games, photos, even a video suprise (youll have to try it to figure that one out lol).",
+ img: "/coding-15.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/DvorakMSDOS",
+ },
+ {
+ title: "RustyWolf (WIP, Available now!)",
+ desc: "a browser I made in rust with webkitgtk, I made it to be lightweight and to be able to be ran on macbook unibody 2010 before I realised I got scammed.. It's the successor to my previous project Venturesome :)",
+ img: "/coding-16.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/RustyWolf",
+ },
+ {
+ title: "dxdwm (Discontinued)",
+ desc: "a small x11 window manager written in rust.",
+ img: "/coding-17.webp",
+ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/dxdwm",
+ },
+ {
+ title: "Revival Inc. (Finished)",
+ desc: "My game written in pygame and packaged with pygbag made for the Mini Jame Gam #55! tho I only made it in 6 hours lmao",
+ img: "/revivalinc.webp",
+ url: "https://dvorakmortonxd.dev/revival-inc",
+ },
+];
+
+export const techProjects: TechProject[] = [
+ {
+ title: "Gentoo Setup",
+ desc: "my main computer with gentoo and SwayFX. specs: Ryzen 5 3600 (6c/12t), RX 580 8GB ASUS ROG, 16gb of ram and a 240gb sata ssd.",
+ image: "/gentoo-setup.webp",
+ },
+ {
+ title: "Proxmox Server",
+ desc: "my personal proxmox server (dm me on ig if u need a VPS/hosting), specs: Xeon E5 2680 v4 (14c/28t), RTX 3070 (llama.cpp), 68gb ddr4 rdimm ram (2*16gb, 1*32gb, 1*4gb), 256gb of sata m2 space + 1tb hdd + 750gb hdd.",
+ image: "/proxmox-server.webp",
+ },
+ {
+ title: "Xbox 360 S (badupdate)",
+ desc: "xbox 360 slim (trinity) with badupdate exploit, allowing to boot custom software. (not my photo), the specs are XCGPU (3c/6t), 0.5GB of gddr3 ram and a 500gb hdd.",
+ image: "/xbox360.webp",
+ },
+ {
+ title: "Lenovo Legion Go S",
+ desc: "my gaming handheld which I sometimes use as a computer, it has 32gb of unified lpddr5x memory and 1tb of nvme storage, I dualboot artix linux (openrc) with SwayFX and stock SteamOS on it.",
+ image: "/legiongos.webp",
+ },
+ {
+ title: "Macbook Air M4 13\"",
+ desc: "my main device for basically everything on the go except gaming. specs are Apple M4 (cpu:10c,gpu:8c), 16gb of unified ram (lpddr5x), 256gb Storage.",
+ image: "/macbook-air.webp",
+ },
+ {
+ title: "Macbook Air 2013 11\"",
+ desc: "bought this for tinkering lol, specs are intel core i5 (2c/4t), 8gb of ddr3 ram and 250gb ssd, installed arch linux on it with i3wm.",
+ image: "/macbook-air-11.webp",
+ },
+ {
+ title: "iPhone 7 128gb",
+ desc: "somehow found a listing for 4 bucks (refurbed.cz) for it so I got it lol, it has a little dent I marked it on the photo (which isnt mine btw), except cosmetic damage its pretty much fully functional, specs are Apple A10 (4c/4t), 2gb of ram and 128gb of storage",
+ image: "/iphone-7.webp",
+ },
+ {
+ title: "Macbook Unibody 2010",
+ desc: "found random listing on bazos for 15 bucks but after I bought a power adapter it turned out to be non functioning so I got scammed :(",
+ image: "/macbook2010.webp",
+ },
+ {
+ title: "ThinkPad T400s 14\"",
+ desc: "got it from a random guy for 20 bucks, its an old laptop from 2009. I put void linux on it and i3wm on it, specs are intel core 2 duo (2c/2t), 8gb ddr3 ram and 800gb hdd.",
+ image: "/thinkpadt400s.webp",
+ },
+ {
+ title: "Asus N56JR 15.6\"",
+ desc: "one of my first laptops my dad got for me when I was like 12, still works but the battery is KO, specs are intel core i7 4700HQ (4c/8t), 8gb ddr3 ram and 240gb ssd, it currently runs ubuntu linux 24.04LTS and my mom uses it for movies and shows.",
+ image: "/asuslaptop.webp",
+ },
+ {
+ title: "Small Unknown XP Acer Laptop",
+ desc: "found that one in ewaste, I think it has like 2gb of ram and an intel atom, not sure what to do with it yet",
+ image: "/acerlaptop.webp",
+ },
+ {
+ title: "Dell Latitude E6320",
+ desc: "also from ewaste, put mint on it but didnt do anything yet, lowk kinda capable for its time in 2011 so I might put it to use later but the battery is KO.",
+ image: "/latitude.webp",
+ },
+ {
+ title: "iPhone 11 128gb",
+ desc: "my first iphone I got from my parents at 13, rn my dad has it because I switched over to the iphone 16 pro in 2025, specs are Apple A13 (6c/6t), 4gb of ram and 128gb of storage. (NOT MY IMAGE)",
+ image: "/iphone11.webp",
+ },
+ {
+ title: "iPhone 16 Pro 128gb",
+ desc: "originally wanted iphone 13 mini (because of the size) but I somehow decided to get 16 pro, which is a bit smaller than my older iphone 11, specs are Apple A18 pro (6c/6t), (btw this chip is the same chip used in the macbook neo so thats cool) and 8gb of ram and 128gb of storage, my main phone.",
+ image: "/iphone16pro.webp",
+ },
+ {
+ title: "Xbox one S 2TB",
+ desc: "my dad bought it for me also in like 2018 or 2019 and I sometimes play the console edition of minecraft because I like to play the gliding minigame on it when someone comes over.",
+ image: "/xboxones.webp",
+ },
+];
+
+export const friends: Friend[] = [
+ {
+ name: "Josef Skopec",
+ url: "/skopec.html",
+ realUrl: "https://skopec.dev/",
+ img: "/skopec.svg",
+ desc: "skopec.dev",
+ iframe: true,
+ },
+ {
+ name: "Filip Bukovina",
+ url: "https://bukovinafilip.com/",
+ realUrl: "https://bukovinafilip.com/",
+ img: "/bukovina.svg",
+ desc: "bukovinafilip.com",
+ iframe: true,
+ },
+ {
+ name: "Tomáš Vlk",
+ url: "https://vlcak.me",
+ realUrl: "https://vlcak.me",
+ img: "/vlcak.svg",
+ desc: "vlcak.me",
+ iframe: true,
+ },
+];
+
+export const WALLPAPER = "/wallpaper.jpg";
+export const WALLPAPER_CREDIT = "https://wallpaperaccess.com/open-source";
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index a89d065..88f886f 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -24,7 +24,14 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
-
+
+
+
+
{children}
diff --git a/src/app/page.css b/src/app/page.css
index f573240..fef888d 100644
--- a/src/app/page.css
+++ b/src/app/page.css
@@ -1268,3 +1268,58 @@ body {
overflow-wrap: anywhere;
}
}
+
+/* ============================================
+ TUI STATUS BAR (terminal theme)
+ ============================================ */
+body {
+ padding-bottom: 44px;
+}
+
+.tui-statusbar {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 5000;
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ padding: 8px 16px;
+ background: rgba(29, 32, 33, 0.92);
+ border-top: 1px solid var(--tui-border);
+ backdrop-filter: blur(12px);
+ -webkit-backdrop-filter: blur(12px);
+ font-family: var(--font-custom-mono), 'JetBrains Mono', monospace;
+ font-size: 0.75rem;
+ color: var(--gray);
+}
+
+.tui-statusbar-item {
+ color: var(--gray);
+}
+
+.tui-statusbar-btn {
+ padding: 3px 8px;
+ background: transparent;
+ border: 1px solid var(--gray);
+ color: var(--fg);
+ font-family: inherit;
+ font-size: 0.72rem;
+ cursor: pointer;
+ transition: all 0.15s ease;
+}
+
+.tui-statusbar-btn:hover {
+ border-color: var(--accent);
+ color: var(--accent);
+ box-shadow: 0 0 8px rgba(250, 189, 47, 0.35);
+}
+
+.tui-statusbar-spacer {
+ flex: 1;
+}
+
+.tui-statusbar-clock {
+ color: var(--gray);
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 4b15e66..eb178a5 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,11 +1,7 @@
-import Image from "next/image";
-import "./page.css";
import { Metadata } from 'next';
-import type { CSSProperties } from 'react';
-import JokerLogo from "./components/JokerLogo";
-import ServiceButton from "./components/ServiceButton";
-import SlBackground from "./components/SlBackground";
-import ContributionHeatmap from "./components/ContributionHeatmap";
+import './page.css';
+import './skeuo.css';
+import ThemeRoot from './components/ThemeRoot';
export const metadata: Metadata = {
title: 'dvorakmortonxd.dev',
@@ -19,587 +15,6 @@ export const metadata: Metadata = {
},
};
-type PanelStyle = CSSProperties & { '--panel-color'?: string };
-
-const panelStyle = (color: string, style: CSSProperties = {}): PanelStyle => ({
- ...style,
- '--panel-color': color,
-});
-
-// Example projects array (you can edit this)
-const codingProjects = [
- {
- title: "Hospital Execution (Unfinished)",
- desc: "the first ever real game I made, in pygame. I've abandoned it.",
- img: "/coding-1.webp",
- url: "https://martin-dv.itch.io/hospital-execution-demo",
- },
- {
- title: "Underbaranoia (Finished)",
- desc: "basically a undertale like infinite fight simulator that gets progressively harder, made in pygame.",
- img: "/coding-2.webp",
- url: "https://martin-dv.itch.io/underbaranoia",
- },
- {
- title: "Offline memer (Finished)",
- desc: "parody of the discord bot \"Dank Memer\" made in batch. (this was technically my first ever game I published).",
- img: "/coding-3.webp",
- url: "https://martin-dv.itch.io/offline-memer",
- },
- {
- title: "4y (Forgotten)",
- desc: "just a renamed fork of the ly login manager (based login manager btw I love it), no extra features, just a rename, its actually outdated so dont use it.",
- img: "/coding-4.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4y",
- },
- {
- title: "4rch linux (Forgotten)",
- desc: "same as above, basically just a renamed fork of arch linux with calamares installer, also outdated and not maintained at all so no use please.",
- img: "/coding-5.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4rch-linux",
- },
- {
- title: "You_Are_An_Idiot_Virus.py (Finished)",
- desc: "this is just a python script that just spams blinking \"you are an idiot\" windows, made it as a prank I think, not really sure rn.",
- img: "/coding-6.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/uranidiot",
- },
- {
- title: "Venturesome (Discontinued)",
- desc: "a browser I wrote in python using PyQtWebEngine with PyQt5, actually pretty cool and modular but I couldnt get past the stage of adding a tab system, basically surpassed by my other project: RustyWolf.",
- img: "/coding-7.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/Venturesome",
- },
- {
- title: "Mandelbrot set in Pygame (Finished)",
- desc: "a python pygame script that renders the mandelbrot set, made it when I was fascinated by how it looks and ngl it still looks cool af.",
- img: "/coding-8.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/mandelbrot",
- },
- {
- title: "Underpygametale (Unfinished)",
- desc: "a remake of undertale written in pygame, got it to about the flowey part (at the beginning) and didnt touch it in a long time.",
- img: "/coding-9.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/underpygametale",
- },
- {
- title: "Many discord bots...",
- desc: "so many of them, once I (allegedly, pls discord dont ban me) even wrote a \"self-bot\" which auto-advertised a minecraft server on minecraft discord server in lfg-hosting every two hours, around 800 people joined in total.",
- img: "/coding-10.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/PYGETEX",
- },
- {
- title: "MMO minecraft plugin (Unfinished)",
- desc: "a minceraft plugin with custom bosses, items, and functions. pretty barebones and basic but I did it all manually before vibecoding was even a thing so what.",
- img: "/coding-11.webp",
- url: "https://www.youtube.com/watch?v=cSAX5Ds61ac",
- },
- {
- title: "Many many failed minecraft servers..",
- desc: "creative games, softcraft, frostville, eusmp, eurthsmp, softsmp and many other SMPs that died later on. I cant even count how many mc servers I had in total.",
- img: "/coding-12.webp",
- url: "https://discord.gg/KtHRm9kRmy",
- },
- {
- title: "Swords and Sandals 2 pygame remake (Unfinished)",
- desc: "an unfinished remake of swords and sandals 2 in pygame, I got bored of it and never finished it but ill finish it one day for sure lol.",
- img: "/coding-13.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/sas2py",
- },
- {
- title: "Llama.cpp server",
- desc: "my llama.cpp vm running on my proxmox with a gpu passthroughed RTX 3070, dm me if u wanna test it lol.",
- img: "/coding-14.webp",
- url: "https://ai.dvorakmortonxd.dev/",
- },
- {
- title: "Batch MSDOS Simulator (Finished)",
- desc: "a freshman school project on making games in batch, it was like an OS simulator with a web browser, games, photos, even a video suprise (youll have to try it to figure that one out lol).",
- img: "/coding-15.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/DvorakMSDOS",
- },
- {
- title: "RustyWolf (WIP, Available now!)",
- desc: "a browser I made in rust with webkitgtk, I made it to be lightweight and to be able to be ran on macbook unibody 2010 before I realised I got scammed.. It's the successor to my previous project Venturesome :)",
- img: "/coding-16.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/RustyWolf",
- },
- {
- title: "dxdwm (Discontinued)",
- desc: "a small x11 window manager written in rust.",
- img: "/coding-17.webp",
- url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/dxdwm",
- },
- {
- title: "Revival Inc. (Finished)",
- desc: "My game written in pygame and packaged with pygbag made for the Mini Jame Gam #55! tho I only made it in 6 hours lmao",
- img: "/revivalinc.webp",
- url: "https://dvorakmortonxd.dev/revival-inc",
- },
-];
-
export default function Home() {
- const socials = [
- { name: "Instagram (main)", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd/" },
- { name: "Instagram (gym)", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd2/" },
- { name: "SoundCloud", icon: "/soundcloud.svg", url: "https://soundcloud.com/martin-dvorak-185636305" },
- { name: "TikTok", icon: "/tiktok.svg", url: "https://www.tiktok.com/@dvorakmortonxd" },
- { name: "Snapchat", icon: "/snapchat.svg", url: "https://www.snapchat.com/add/dvorakmortonxd" },
- { name: "GitDXD", icon: "/github.svg", url: "https://git.dvorakmortonxd.dev/dvorakmortonxd" },
- { name: "LinkedIn", icon: "/linkedin.svg", url: "https://www.linkedin.com/in/martin-dvorak-32012a394/" },
- { name: "Itch.io", icon: "/itchio.svg", url: "https://martin-dv.itch.io" },
- { name: "Discord", icon: "/discord.svg", url: "https://discord.com/users/555745543763001364" },
- { name: "Reddit", icon: "/reddit.svg", url: "https://www.reddit.com/user/M4RT1NYT/" },
- { name: "Twitter", icon: "/twitter.svg", url: "https://x.com/pepicskopcecek" },
- { name: "Quipee", icon: "/quip.svg", url: "https://quipee.me/dvorakmortonxd" },
- ];
-
- const techProjects = [
- {
- title: "Gentoo Setup",
- desc: "my main computer with gentoo and SwayFX. specs: Ryzen 5 3600 (6c/12t), RX 580 8GB ASUS ROG, 16gb of ram and a 240gb sata ssd.",
- image: "/gentoo-setup.webp",
- },
- {
- title: "Proxmox Server",
- desc: "my personal proxmox server (dm me on ig if u need a VPS/hosting), specs: Xeon E5 2680 v4 (14c/28t), RTX 3070 (llama.cpp), 68gb ddr4 rdimm ram (2*16gb, 1*32gb, 1*4gb), 256gb of sata m2 space + 1tb hdd + 750gb hdd.",
- image: "/proxmox-server.webp",
- },
- {
- title: "Xbox 360 S (badupdate)",
- desc: "xbox 360 slim (trinity) with badupdate exploit, allowing to boot custom software. (not my photo), the specs are XCGPU (3c/6t), 0.5GB of gddr3 ram and a 500gb hdd.",
- image: "/xbox360.webp",
- },
- {
- title: "Lenovo Legion Go S",
- desc: "my gaming handheld which I sometimes use as a computer, it has 32gb of unified lpddr5x memory and 1tb of nvme storage, I dualboot artix linux (openrc) with SwayFX and stock SteamOS on it.",
- image: "/legiongos.webp",
- },
- {
- title: "Macbook Air M4 13\"",
- desc: "my main device for basically everything on the go except gaming. specs are Apple M4 (cpu:10c,gpu:8c), 16gb of unified ram (lpddr5x), 256gb Storage.",
- image: "/macbook-air.webp",
- },
- {
- title: "Macbook Air 2013 11\"",
- desc: "bought this for tinkering lol, specs are intel core i5 (2c/4t), 8gb of ddr3 ram and 250gb ssd, installed arch linux on it with i3wm.",
- image: "/macbook-air-11.webp",
- },
- {
- title: "iPhone 7 128gb",
- desc: "somehow found a listing for 4 bucks (refurbed.cz) for it so I got it lol, it has a little dent I marked it on the photo (which isnt mine btw), except cosmetic damage its pretty much fully functional, specs are Apple A10 (4c/4t), 2gb of ram and 128gb of storage",
- image: "/iphone-7.webp",
- },
- {
- title: "Macbook Unibody 2010",
- desc: "found random listing on bazos for 15 bucks but after I bought a power adapter it turned out to be non functioning so I got scammed :(",
- image: "/macbook2010.webp",
- },
- {
- title: "ThinkPad T400s 14\"",
- desc: "got it from a random guy for 20 bucks, its an old laptop from 2009. I put void linux on it and i3wm on it, specs are intel core 2 duo (2c/2t), 8gb ddr3 ram and 800gb hdd.",
- image: "/thinkpadt400s.webp",
- },
- {
- title: "Asus N56JR 15.6\"",
- desc: "one of my first laptops my dad got for me when I was like 12, still works but the battery is KO, specs are intel core i7 4700HQ (4c/8t), 8gb ddr3 ram and 240gb ssd, it currently runs ubuntu linux 24.04LTS and my mom uses it for movies and shows.",
- image: "/asuslaptop.webp",
- },
- {
- title: "Small Unknown XP Acer Laptop",
- desc: "found that one in ewaste, I think it has like 2gb of ram and an intel atom, not sure what to do with it yet",
- image: "/acerlaptop.webp",
- },
- {
- title: "Dell Latitude E6320",
- desc: "also from ewaste, put mint on it but didnt do anything yet, lowk kinda capable for its time in 2011 so I might put it to use later but the battery is KO.",
- image: "/latitude.webp",
- },
- {
- title: "iPhone 11 128gb",
- desc: "my first iphone I got from my parents at 13, rn my dad has it because I switched over to the iphone 16 pro in 2025, specs are Apple A13 (6c/6t), 4gb of ram and 128gb of storage. (NOT MY IMAGE)",
- image: "/iphone11.webp",
- },
- {
- title: "iPhone 16 Pro 128gb",
- desc: "originally wanted iphone 13 mini (because of the size) but I somehow decided to get 16 pro, which is a bit smaller than my older iphone 11, specs are Apple A18 pro (6c/6t), (btw this chip is the same chip used in the macbook neo so thats cool) and 8gb of ram and 128gb of storage, my main phone.",
- image: "/iphone16pro.webp",
- },
- {
- title: "Xbox one S 2TB",
- desc: "my dad bought it for me also in like 2018 or 2019 and I sometimes play the console edition of minecraft because I like to play the gliding minigame on it when someone comes over.",
- image: "/xboxones.webp",
- },
- ];
-
- const friends = [
- {
- name: "Josef Skopec",
- url: "/skopec.html",
- realUrl: "https://skopec.dev/",
- img: "/skopec.svg",
- desc: "skopec.dev",
- iframe: true
- },
- {
- name: "Filip Bukovina",
- url: "https://bukovinafilip.com/",
- realUrl: "https://bukovinafilip.com/",
- img: "/bukovina.svg",
- desc: "bukovinafilip.com",
- iframe: true
- },
- {
- name: "Tomáš Vlk",
- url: "https://vlcak.me",
- realUrl: "https://vlcak.me",
- img: "/vlcak.svg",
- desc: "vlcak.me",
- iframe: true
- }
- ];
-
- return <>
-
-
-
- {/* Header - TUI top bar */}
-
-
-
-
dvorakmortonxd.dev
-
-
-
- {/* Hero - TUI welcome panel */}
-
-
- README.MD
-
$ whoami
-
- Welcome my personal website! Here I show off my projects and hardware I own, aswell as my self-hosted services :)
-
- I'm currently hosting an SMP (dm me on discord). Also I'm pretty much cooking daily, because im bulking through out the non-summer seasons. And me and my pal Pepa are working on an education app so we can study more efficiently, It's called maturita.c!
-
-
-
-
-
-
- {/* About Me Panel */}
-
-
- README.MD
-
-
- martin@dvorakmortonxd:~$ cat about_me.md
-
-
-
- Hey, I'm Martin Dvořák — a 17(soon to be 18)-year-old IT student based in the Czech Republic, specializing in network management and administration at sssvt.cz. I'm a sophomore and I have wanted to go to this school since 7th grade (2022) so I'm happy I got in in 2025, the school is pretty cool so if you are in middle school and interested in IT, make sure to check it out. I'm a homelabber and developer heavily focused on self-hosting literally everything, writing code (for example games for gamejams), tinkering with GNU/Linux or Musl/Linux systems and retro hardware. I own a small collection of laptops ranging from 2009 to 2014 (and ofcourse my 2025 macbook), most of these found in ewaste. In my free time I mostly spend time with my gf {'<'}3, I also spend a bit of time setting up my self hosted stuff (like jellyfin or gitdxd), and also when I'm in my gaming mood I play terraria (around 1300hr playtime btw) and minecraft modpacks with mekanism and/or create. I also go to the gym around 3-5 times a week, running a PPL split focused on strength/powerlifting and especially SBD. I take a big focus on my health and physique.
-
-
-
-
-
-
- {/* Services Panel */}
-
-
- SERVICES.HTML
-
-
-
-
-
-
-
-
-
-
-
- {/* GitDXD Panel */}
-
-
- GITDXD.GIT
-
-
GitDXD
-
My Self-hosted Git Instance
-
-
-
-
-
My very own forgejo git instance, originally started as a private git instance for me and my friends to boycott GitHub but I've made it public now so. Join at git.dvorakmortonxd.dev.
-
-
-
-
-
- {/* Commits Panel */}
-
-
- CONTRIBUTIONS@GITDXD.GIT
-
-
-
-
-
-
- {/* REVIVAL INC Panel */}
-
-
- REVIVAL.INC
-
-
Revival inc.
-
-
-
-
What is it?
-
-
It's a game I made for the game jam "Mini Jame Gam #55", the theme was Necromancy and the special item was Milk, the game also includes a tutorial so if you wanna try it do it. Check it out at itch.io or play here.
-
-
-
-
-
- {/* RustyWolf Panel */}
-
-
- RUSTYWOLF.RS
-
-
Introducing RustyWolf
-
-
-
-
What makes it so cool???
-
-
A lightweight browser made in Rust with WebKitGTK. It's the successor to my previous project Venturesome, aiming to provide a fast and minimalist browsing experience. It's a perfect browser for old machines that struggle with modern browsers. Check it out at GitDXD.