Rebuild portfolio in Next.js and Tailwind
Static-export Next.js 16 app with the tactical-map hero, Dajt terrain background, dossier pages and the projects node index. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
import type { Status } from "./projects";
|
||||
|
||||
export type Proof = {
|
||||
label: string;
|
||||
note: string;
|
||||
href?: string;
|
||||
status?: Status;
|
||||
};
|
||||
|
||||
export type DossierFile = {
|
||||
slug: string;
|
||||
no: string;
|
||||
title: string;
|
||||
summary: string;
|
||||
proofSummary: string;
|
||||
lead: string;
|
||||
paragraphs: string[];
|
||||
proof: Proof[];
|
||||
};
|
||||
|
||||
// PLACEHOLDER: all copy below is a first draft from the spec. Edit freely.
|
||||
export const dossier: DossierFile[] = [
|
||||
{
|
||||
slug: "leadership",
|
||||
no: "01",
|
||||
title: "Leadership",
|
||||
summary: "Leading groups since I was ten. Clans first, then Orus.",
|
||||
proofSummary: "Orus",
|
||||
lead: "Leading groups and getting people to follow, since I was ten.",
|
||||
paragraphs: [
|
||||
"It started with gaming clans at 10 and 11, and the content around them.",
|
||||
"The same instinct became Orus at 12 and 13.",
|
||||
],
|
||||
proof: [
|
||||
{
|
||||
label: "Orus",
|
||||
note: "A community that has grown around the work",
|
||||
href: "/projects/#orus",
|
||||
status: "LIVE",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
slug: "entrepreneurship",
|
||||
no: "02",
|
||||
title: "Entrepreneurship",
|
||||
summary: "Orus as the umbrella. Systems where incentives and behavior matter.",
|
||||
proofSummary: "Osias · Orus · EquitySMP",
|
||||
lead: "Orus is the umbrella for everything serious I make.",
|
||||
paragraphs: [
|
||||
"Beyond it I design systems where incentives and behavior matter.",
|
||||
"Osias is a blockchain-powered AI agent for trading emotions and behavior. Alongside it sits a Minecraft economy concept with jurisdictions, taxes, and IPOs.",
|
||||
],
|
||||
proof: [
|
||||
{ label: "Osias", note: "osias.trade", href: "https://osias.trade", status: "BUILDING" },
|
||||
{ label: "Orus", note: "The umbrella org", href: "/projects/#orus", status: "LIVE" },
|
||||
{ label: "EquitySMP", note: "Real-world-style server economy", href: "/projects/#equitysmp", status: "BUILDING" },
|
||||
],
|
||||
},
|
||||
{
|
||||
slug: "builder",
|
||||
no: "03",
|
||||
title: "Builder",
|
||||
summary: "The interesting problems sit one layer lower than where most people stop.",
|
||||
proofSummary: "Saturn · Enclave · Gitea",
|
||||
lead: "I don’t accept the layer underneath as a given.",
|
||||
paragraphs: [
|
||||
"I wrote my own client for Minecraft (Saturn). I’m designing a transport protocol to replace HTTP and WebSockets for Enclave’s chat. I host my own Git.",
|
||||
"The interesting problems are usually one layer lower than where most people stop.",
|
||||
],
|
||||
proof: [
|
||||
{ label: "Saturn", note: "Minecraft client, written from scratch", href: "/projects/#saturn", status: "ARCHIVED" },
|
||||
{ label: "Enclave + transport protocol", note: "Chat platform, and the protocol it runs on", href: "/projects/#enclave", status: "BUILDING" },
|
||||
{ label: "git.selimaj.dev", note: "Gitea on a Docker and Coolify homelab", href: "https://git.selimaj.dev", status: "LIVE" },
|
||||
],
|
||||
},
|
||||
{
|
||||
slug: "discipline",
|
||||
no: "04",
|
||||
title: "Discipline",
|
||||
summary: "Formerly #1 on Discipline in Albania. Consistency, tracked in public.",
|
||||
proofSummary: "Contribution graph · rank",
|
||||
lead: "Formerly ranked #1 on Discipline in Albania.",
|
||||
paragraphs: [
|
||||
"I track consistency through contribution graphs.",
|
||||
"A long project list reads as sustained output, not abandoned experiments.",
|
||||
],
|
||||
proof: [
|
||||
{ label: "Contribution graph", note: "github.com/selimaj-dev", href: "https://github.com/selimaj-dev" },
|
||||
{ label: "Ranking", note: "Formerly #1 on Discipline, Albania" },
|
||||
],
|
||||
},
|
||||
{
|
||||
slug: "passions",
|
||||
no: "05",
|
||||
title: "Passions",
|
||||
summary: "Cyberdecks, long-range RC planes, algorithmic trading, Minecraft with friends.",
|
||||
proofSummary: "Build logs",
|
||||
lead: "The things I do because I can’t not.",
|
||||
paragraphs: [
|
||||
"Custom hardware: a briefcase cyberdeck, and a compact one that aims to be a Flipper Zero but better.",
|
||||
"Long-range PC and 4G-controlled RC planes built around a custom watercooled powertrain. Algorithmic trading. Minecraft with friends.",
|
||||
],
|
||||
proof: [
|
||||
{ label: "Cyberdecks", note: "Build photos and logs to come", href: "/projects/#briefcase-deck", status: "BUILDING" },
|
||||
{ label: "RC planes", note: "Build photos and logs to come", href: "/projects/#rc-planes", status: "BUILDING" },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export const fileBySlug = (slug: string) => dossier.find((f) => f.slug === slug);
|
||||
Reference in New Issue
Block a user