diff --git a/README.md b/README.md
index e03013f..710f2d4 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,16 @@
# luinbytes.dev
-Lu's personal portfolio: software built from annoying gaps, shipped as useful tools.
+Lu's personal portfolio, currently presented as three fully built interactive directions for review.
-The homepage keeps the personal intro up front, then gives [HomeBot](https://github.com/luinbytes/HomeBot) its own feature section. The rest of the work stays in the build index and dedicated case pages.
+The homepage is a comparison gallery. Each concept reframes the site around Lu, his current work at [Orchid.ai](https://orchid.ai), and a curated group of public repositories rather than a catalogue of product pages.
## What is featured
-HomeBot is an open-source Rust desktop, server, and Android home for persistent AI teammates. It keeps authenticated chats, tools, routines, and repository workspaces server-owned while native desktop and Android clients share the same state.
+- `/concepts/signal-desk` — a warm, tactile studio patchbay with animated repository channels.
+- `/concepts/trace` — a bold editorial identity with a native range-driven project scrubber.
+- `/concepts/signal-field` — a spatial topographic map with plotted repository routes and a list-view fallback.
-- [Source repository](https://github.com/luinbytes/HomeBot)
-- Current status: pre-v1 development
-
-The homepage's retained build index also covers:
-
-- [Linux Sonar](https://github.com/luinbytes/linux-sonar) — per-app PipeWire routing, ChatMix, and mic effects for Linux.
-- Meteor — local-first Android tasks and habits.
-- Sleepr — cycle-aware wake guidance and on-device sleep rhythm learning.
-- Game Systems — overlays, hooks, trainers, and runtime instrumentation.
-
-Dedicated case pages cover BallHammer, Risk of Anticheat, BrcTrainer, DaggerFall, and SuperHackerGolf.
+All three feature [HomeBot](https://github.com/luinbytes/HomeBot), [rakazo-android](https://github.com/luinbytes/rakazo-android), [Linux Sonar](https://github.com/luinbytes/linux-sonar), [bongocat](https://github.com/luinbytes/bongocat), [cursor-barrier](https://github.com/luinbytes/cursor-barrier), and [BallHammer](https://github.com/luinbytes/BallHammer). Existing case-study routes remain available as an archive while a final direction is selected.
## Stack
diff --git a/app/concepts/signal-desk/page.tsx b/app/concepts/signal-desk/page.tsx
new file mode 100644
index 0000000..989466d
--- /dev/null
+++ b/app/concepts/signal-desk/page.tsx
@@ -0,0 +1,11 @@
+import type { Metadata } from "next";
+import { SignalDesk } from "@/components/concepts/signal-desk/signal-desk";
+
+export const metadata: Metadata = {
+ title: "Signal Desk | Lu portfolio concept",
+ description: "A tactile, interactive portfolio concept for Lu's work at Orchid.ai and in open source.",
+};
+
+export default function SignalDeskPage() {
+ return ;
+}
diff --git a/app/concepts/signal-field/page.tsx b/app/concepts/signal-field/page.tsx
new file mode 100644
index 0000000..709b05d
--- /dev/null
+++ b/app/concepts/signal-field/page.tsx
@@ -0,0 +1,11 @@
+import type { Metadata } from "next";
+import { SignalField } from "@/components/concepts/signal-field/signal-field";
+
+export const metadata: Metadata = {
+ title: "Signal Field | Lu portfolio concept",
+ description: "A spatial, interactive portfolio concept for Lu's work at Orchid.ai and in open source.",
+};
+
+export default function SignalFieldPage() {
+ return ;
+}
diff --git a/app/concepts/trace/page.tsx b/app/concepts/trace/page.tsx
new file mode 100644
index 0000000..951a38b
--- /dev/null
+++ b/app/concepts/trace/page.tsx
@@ -0,0 +1,12 @@
+import type { Metadata } from "next";
+import TracePortfolio from "@/components/concepts/trace/trace-portfolio";
+
+export const metadata: Metadata = {
+ title: "Trace | Lu",
+ description:
+ "Lu's interactive portfolio: software engineering, open-source systems, and useful weird little tools.",
+};
+
+export default function TracePage() {
+ return ;
+}
diff --git a/app/layout.tsx b/app/layout.tsx
index 6435b73..f56b977 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,10 +1,7 @@
import type { Metadata } from "next";
import { Pixelify_Sans, Space_Grotesk, Space_Mono } from "next/font/google";
import "./globals.css";
-import { Header } from "@/components/layout/header";
-import { Footer } from "@/components/layout/footer";
-import { CommandMenu } from "@/components/command-menu";
-import { CaseInterfaceOverlay } from "@/components/case-interface-overlay";
+import { SiteFrame } from "@/components/layout/site-frame";
import { siteUrl } from "@/site.config";
const spaceGrotesk = Space_Grotesk({
@@ -34,14 +31,14 @@ export const metadata: Metadata = {
template: "%s | Lu",
},
description:
- "Self-taught software engineer building Android apps, Linux tools, game mods, Raycast extensions, and open-source utilities.",
+ "Lu makes stubborn software behave: Orchid.ai's native Android app, agent systems, Linux tools, and practical software.",
metadataBase: new URL(siteUrl),
twitter: {
card: "summary_large_image",
title: "Lu | Software Engineer",
description:
- "Self-taught software engineer building Android apps, Linux tools, game mods, Raycast extensions, and open-source utilities.",
- creator: "@luinbytes",
+ "I make stubborn software behave. Native Android, agent systems, Linux tools, and practical software.",
+ creator: "@x6c75",
images: `${siteUrl}/share-cards/luinbytes-dev-pink-print.png`,
},
openGraph: {
@@ -50,7 +47,7 @@ export const metadata: Metadata = {
url: siteUrl,
title: "Lu | Software Engineer",
description:
- "Self-taught software engineer building Android apps, Linux tools, game mods, Raycast extensions, and open-source utilities.",
+ "I make stubborn software behave. Native Android, agent systems, Linux tools, and practical software.",
siteName: "Luinbytes",
images: [
{
@@ -105,8 +102,8 @@ export default function RootLayout({
║ b) Lu debugging something I broke (sorry) ║
║ c) A recruiter snooping for code quality (it's good!) ║
║ ║
- ║ Ink-and-paper system. Proof loop interface. ║
- ║ Hard frames, print marks, preserved details. ║
+ ║ Welcome to the aquarium. Please do not tap the glass. ║
+ ║ The fish are unionised and have excellent lawyers. ║
║ ║
╚═══════════════════════════════════════════════════════════╝
*/}
@@ -128,19 +125,13 @@ export default function RootLayout({
suppressHydrationWarning
>
-
-
Skip to content
-
-
- {children}
-
-
+ {children}