|
|
|
@@ -1,5 +1,3 @@
|
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import Image from "next/image";
|
|
|
|
import Image from "next/image";
|
|
|
|
import { ExternalLink, Github } from "lucide-react";
|
|
|
|
import { ExternalLink, Github } from "lucide-react";
|
|
|
|
|
|
|
|
|
|
|
|
@@ -47,7 +45,7 @@ const kSuiteApps: KSuiteApp[] = [
|
|
|
|
description:
|
|
|
|
description:
|
|
|
|
"Tune guitar, ukulele, and piano with this Frutiger Aero styled PWA.",
|
|
|
|
"Tune guitar, ukulele, and piano with this Frutiger Aero styled PWA.",
|
|
|
|
url: "https://tuner.gabrielkaszewski.dev/",
|
|
|
|
url: "https://tuner.gabrielkaszewski.dev/",
|
|
|
|
githubUrl: "https://github.com/GKaszewski/aero-tuner",
|
|
|
|
githubUrl: "https://github.com/GKaszewski/k-tuner",
|
|
|
|
icon: "/images/k-tuner.png",
|
|
|
|
icon: "/images/k-tuner.png",
|
|
|
|
technologies: ["React", "PWA"],
|
|
|
|
technologies: ["React", "PWA"],
|
|
|
|
color: "from-emerald-400 to-teal-500",
|
|
|
|
color: "from-emerald-400 to-teal-500",
|
|
|
|
@@ -62,7 +60,7 @@ const kSuiteApps: KSuiteApp[] = [
|
|
|
|
githubUrl: "https://github.com/GKaszewski/k-qr",
|
|
|
|
githubUrl: "https://github.com/GKaszewski/k-qr",
|
|
|
|
icon: "/images/k-qr.png",
|
|
|
|
icon: "/images/k-qr.png",
|
|
|
|
technologies: ["Rust", "HTML"],
|
|
|
|
technologies: ["Rust", "HTML"],
|
|
|
|
color: "from-amber-400 to-orange-500"
|
|
|
|
color: "from-amber-400 to-orange-500",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
];
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
@@ -134,8 +132,6 @@ const KSuiteOrganism = () => {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
})}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{/* Lines from center to each app */}
|
|
|
|
{/* Lines from center to each app */}
|
|
|
|
{positions.map((pos, i) => (
|
|
|
|
{positions.map((pos, i) => (
|
|
|
|
<line
|
|
|
|
<line
|
|
|
|
@@ -300,8 +296,8 @@ export default function KSuitePage() {
|
|
|
|
designed to restore digital sovereignty to the user.
|
|
|
|
designed to restore digital sovereignty to the user.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<p className="text-base text-white/60 max-w-2xl mx-auto mb-12">
|
|
|
|
<p className="text-base text-white/60 max-w-2xl mx-auto mb-12">
|
|
|
|
A "Personal Universe" containing interconnected applications ranging
|
|
|
|
A "Personal Universe" containing interconnected
|
|
|
|
from media playback to knowledge management.
|
|
|
|
applications ranging from media playback to knowledge management.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
{/* Organism Visualization */}
|
|
|
|
{/* Organism Visualization */}
|
|
|
|
@@ -319,14 +315,17 @@ export default function KSuitePage() {
|
|
|
|
</h2>
|
|
|
|
</h2>
|
|
|
|
<div className="space-y-4 text-white/80 leading-relaxed">
|
|
|
|
<div className="space-y-4 text-white/80 leading-relaxed">
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
The concept of K-Suite was born in <span className="text-yellow-400 font-semibold">2017</span>.
|
|
|
|
The concept of K-Suite was born in{" "}
|
|
|
|
As a middle school student, I envisioned a digital environment where every
|
|
|
|
<span className="text-yellow-400 font-semibold">2017</span>.
|
|
|
|
tool I used was built by my own hands—a space customized exactly to my needs.
|
|
|
|
As a middle school student, I envisioned a digital environment
|
|
|
|
However, my vision at the time far outpaced my technical abilities.
|
|
|
|
where every tool I used was built by my own hands—a space
|
|
|
|
|
|
|
|
customized exactly to my needs. However, my vision at the time
|
|
|
|
|
|
|
|
far outpaced my technical abilities.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
K-Suite is the realization of that long-standing dream. It bridges the gap
|
|
|
|
K-Suite is the realization of that long-standing dream. It
|
|
|
|
between the middle schooler who wanted to build, and the developer who now can.
|
|
|
|
bridges the gap between the middle schooler who wanted to
|
|
|
|
|
|
|
|
build, and the developer who now can.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@@ -344,10 +343,15 @@ export default function KSuitePage() {
|
|
|
|
</h2>
|
|
|
|
</h2>
|
|
|
|
<div className="space-y-4 text-white/80 leading-relaxed">
|
|
|
|
<div className="space-y-4 text-white/80 leading-relaxed">
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
This project represents my <span className="text-yellow-400 font-semibold">Magnum Opus</span>.
|
|
|
|
This project represents my{" "}
|
|
|
|
It is the most ambitious software engineering undertaking I have attempted to date.
|
|
|
|
<span className="text-yellow-400 font-semibold">
|
|
|
|
Beyond simply providing privacy and utility, K-Suite serves as a rigorous testing
|
|
|
|
Magnum Opus
|
|
|
|
ground for advanced <span className="text-cyan-400">System Design</span> and{" "}
|
|
|
|
</span>
|
|
|
|
|
|
|
|
. It is the most ambitious software engineering undertaking I
|
|
|
|
|
|
|
|
have attempted to date. Beyond simply providing privacy and
|
|
|
|
|
|
|
|
utility, K-Suite serves as a rigorous testing ground for
|
|
|
|
|
|
|
|
advanced <span className="text-cyan-400">System Design</span>{" "}
|
|
|
|
|
|
|
|
and{" "}
|
|
|
|
<span className="text-cyan-400">Software Architecture</span>.
|
|
|
|
<span className="text-cyan-400">Software Architecture</span>.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@@ -361,8 +365,9 @@ export default function KSuitePage() {
|
|
|
|
Architectural Mastery
|
|
|
|
Architectural Mastery
|
|
|
|
</h4>
|
|
|
|
</h4>
|
|
|
|
<p className="text-white/70">
|
|
|
|
<p className="text-white/70">
|
|
|
|
To design a distributed system where independent modules (like K-Notes)
|
|
|
|
To design a distributed system where independent modules
|
|
|
|
function flawlessly on their own but become exponentially more powerful when connected.
|
|
|
|
(like K-Notes) function flawlessly on their own but become
|
|
|
|
|
|
|
|
exponentially more powerful when connected.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -371,8 +376,9 @@ export default function KSuitePage() {
|
|
|
|
Digital Sovereignty
|
|
|
|
Digital Sovereignty
|
|
|
|
</h4>
|
|
|
|
</h4>
|
|
|
|
<p className="text-white/70">
|
|
|
|
<p className="text-white/70">
|
|
|
|
To create a viable, privacy-first alternative to commercial ecosystems
|
|
|
|
To create a viable, privacy-first alternative to commercial
|
|
|
|
(Google/Apple), focused entirely on open-source principles and self-hosting.
|
|
|
|
ecosystems (Google/Apple), focused entirely on open-source
|
|
|
|
|
|
|
|
principles and self-hosting.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -381,9 +387,10 @@ export default function KSuitePage() {
|
|
|
|
Seamless Integration
|
|
|
|
Seamless Integration
|
|
|
|
</h4>
|
|
|
|
</h4>
|
|
|
|
<p className="text-white/70">
|
|
|
|
<p className="text-white/70">
|
|
|
|
To solve the complex challenge of inter-app communication. In K-Suite,
|
|
|
|
To solve the complex challenge of inter-app communication.
|
|
|
|
a photo stored in K-Photos isn't just a file; it's an asset that can be
|
|
|
|
In K-Suite, a photo stored in K-Photos isn't just a
|
|
|
|
referenced in other apps or attached to an entry in the upcoming K-Mood.
|
|
|
|
file; it's an asset that can be referenced in other
|
|
|
|
|
|
|
|
apps or attached to an entry in the upcoming K-Mood.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@@ -399,8 +406,8 @@ export default function KSuitePage() {
|
|
|
|
Explore the Suite
|
|
|
|
Explore the Suite
|
|
|
|
</h2>
|
|
|
|
</h2>
|
|
|
|
<p className="text-white/60 text-center mb-12 max-w-xl mx-auto">
|
|
|
|
<p className="text-white/60 text-center mb-12 max-w-xl mx-auto">
|
|
|
|
Each application is designed to work independently, but together they form
|
|
|
|
Each application is designed to work independently, but together
|
|
|
|
something greater.
|
|
|
|
they form something greater.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto">
|
|
|
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto">
|
|
|
|
{kSuiteApps.map((app) => (
|
|
|
|
{kSuiteApps.map((app) => (
|
|
|
|
@@ -418,8 +425,8 @@ export default function KSuitePage() {
|
|
|
|
More Apps Coming Soon
|
|
|
|
More Apps Coming Soon
|
|
|
|
</h2>
|
|
|
|
</h2>
|
|
|
|
<p className="text-white/70 mb-4">
|
|
|
|
<p className="text-white/70 mb-4">
|
|
|
|
K-Suite is still growing. The ecosystem will expand with more interconnected
|
|
|
|
K-Suite is still growing. The ecosystem will expand with more
|
|
|
|
applications including K-Photos, K-Mood, and more.
|
|
|
|
interconnected applications including K-Photos, K-Mood, and more.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<p className="text-sm text-white/50">
|
|
|
|
<p className="text-sm text-white/50">
|
|
|
|
Built with Rust, React, and modern web technologies.
|
|
|
|
Built with Rust, React, and modern web technologies.
|
|
|
|
|