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} -
-