export interface Project {
    id: string;
    isActive: boolean; // whether the project is currently active (true) or a past project (false)
    banner: string;
    icon: string;
    title: string;
    subtitle: string;
    paragraphs: string[];
    links: Link[];
};

export interface Link {
    text: string;
    link: string;
}

export const projects: Project[] = [
    {
        id: "projectn5",
        isActive: true,
        banner: "/projects/projectn5/banner.webp",
        icon: "",
        title: "Project N5",
        subtitle: "",
        paragraphs: [
            "I'm currently working on a game developed using Godot, entitled Project N5! It's aiming to be an action-adventure 3D jump & run heavily inspired by games such as <a href='https://en.wikipedia.org/wiki/Ratchet_%26_Clank'>Ratchet & Clank</a>.",
            "I maintain a development log on this website, feel free to check it out if you're curious!",
        ],
        links: [
            {
                text: "View the <b>development log</b>",
                link: "/projects/projectn5/devlog",
            },
        ],
    },
    {
        id: "projektike",
        isActive: true,
        banner: "/projects/projektike/banner.webp",
        icon: "",
        title: "Projektike",
        subtitle: "Wizard Game",
        paragraphs: [
            "Two friends of mine and I are working together on a multiplayer wizard game where you can throw magical and technological artifacts at one another.",
        ],
        links: [
            {
                text: "coming soon™",
                link: "",
            },
        ],
    },
    {
        id: "daisyfm",
        isActive: false,
        banner: "/projects/daisyfm/banner.webp",
        icon: "",
        title: "Daisy",
        subtitle: "Electro-Smith Daisy-based FM synth",
        paragraphs: [
            "One day, I was lying in bed, lacking motivation, telling a friend: \"I don't know what to do right now, I don't really have a project currently.\" His suggestion sent me down a two-month long road to create my own synthesiser.",
        ],
        links: [
            {
                text: "Read more",
                link: "/projects/daisy",
            },
            {
                text: "View the CAD and STL files (coming soon)",
                link: "",
            },
            {
                text: "View the repository",
                link: "https://codeberg.org/denizk0461/daisy-fm-synth",
            },
        ],
    },
    {
        id: "swordsnstuff",
        isActive: false,
        banner: "/projects/swordsnstuff/banner.webp",
        icon: "",
        title: "Swords & Stuff",
        subtitle: "Unity 2D RPG",
        paragraphs: [
            "<b>Swords & Stuff</b> (working title) was an RPG inspired by Dragon Quest IX. Traverse the world with a party of up to 4 characters, each with their individual equiment, skills, and vocations, and fight monsters to gain experience!",
            "This game was my first shot at 2D Unity development, which had proven quite fun, but also a little cumbersome at times. Unfortunately, I will not continue the project in its current form, since even though I don't expect to earn any money from my games, let alone publish them on a commercial platform, Unity's TOS changes in mid-2023 made me reconsider my decision to use the platform and I hence abandoned the project. I used this opportunity to learn to use Godot, which I will use for my future projects.",
            "A working, but very early-in-development version of the game is still up on this website. It features a testing overworld in which you can move the cast of four characters: Player1, fraxiom64, proudrat, and Grampa Simpson. The enemies, trolldads, chase you and take you into a battle scene that has a functioning queue, but no damage and health mechanics. You can flee battles. Don't open the inventory – you cannot escape it.",
        ],
        links: [
            {
                text: "Play <b>Swords & Stuff</b>",
                link: "/swordsnstuff",
            },
        ],
    },
    {
        id: "tads",
        isActive: false,
        banner: "/projects/tads/banner.webp",
        icon: "/projects/tads/icon.webp",
        title: "Totally Accurate Dating Simulator",
        subtitle: "HTML Text Adventure",
        paragraphs: [
            "<b>Totally Accurate Dating Simulator</b> is, as the name suggests, a series of particularly realistic dating simulator experiences. Dive into a world of romance as you meet your matches, intriguing and disappointing. Who will you meet? Will it be someone your type? That's subjective, and the computer will not even slightly attempt to match you with someone suitable. Prepare yourself for matches that are rarely described with \"intriguing\" and much more frequently with \"funny.\" Discover which of the 28 endings will determine your fate, and lower your expectations. Significantly.",
        ],
        links: [
            {
                text: "Play <b>TADS 1</b>",
                link: "/projects/tads/tads1",
            },
            {
                text: "Play <b>TADS 2</b>",
                link: "/projects/tads/tads2",
            },
        ],
    },
    {
        id: "weserplaner",
        isActive: false,
        banner: "/projects/weserplaner/banner.webp",
        icon: "/projects/weserplaner/icon.webp",
        title: "WeserPlaner",
        subtitle: "University Timetable & Canteen Info App",
        paragraphs: [
            "<b>WeserPlaner</b> is an app I developed to more easily view relevant information during my studies at the University of Bremen. It can download the user's timetable from the university's learning platform Stud.IP, and it can download the menus for all canteens managed by the Studierendenwerk Bremen, allowing the user to filter for dietary preferences as well as hiding items containing substances they are allergic against.",
            "In developing this app, I took heavy inspiration from an earlier project of mine, <b>AvH-Vertretungsplan</b>, which was an app I developed for a school I used to attend, in order to view the substitution plan as well as the canteen offers more easily. Quite similar!",
            "I stopped work on the app in favour of other projects, notably because I had no significant plans for it. The app was taken down from the Google Play Store after I refused to comply with their new developer guidelines, requiring me to publish my home address (what the actual fuck Google?), and after the Studierendenwerk Bremen updated their page around the start of 2025, the app became nonfunctional.",
        ],
        links: [
            {
                text: "View on <b>Codeberg</b>",
                link: "https://codeberg.org/denizk0461/weserplaner/",
            },
            {
                text: "View on <b>Google Play</b> (outdated)",
                link: "https://play.google.com/store/apps/details?id=com.denizk0461.weserplaner",
            },
        ],
    },
    {
        id: "textbasic",
        isActive: false,
        banner: "",
        icon: "/projects/textbasic/icon.webp",
        title: "Text Basic",
        subtitle: "Extremely Basic Text Widget App",
        paragraphs: [
            "In the pursuit of finding a simple app on the Play Store that would allow me to put any kind of text on my home screen, I failed, and all I could find were ad-ridden monstrosities, overfilled with features. To fulfil my own requirements, I developed <b>Text Basic</b>, which does exactly one thing: put a text on your home screen. Upon user request, the app has grown minimally since, now allowing for text customisation (text font, text size, background style, colours) and a rotation of texts to display.",
            "Surprisingly, the app garnered quite a signficant user base of >2.000 people, many of whom were sending me bug reports, and some even contributing ideas. Many were also frustrated that the text widgets changed... not understanding how the app works. It was taken down from the Play Store at the same time as <a href='#weserplaner'>WeserPlaner</a>.",
        ],
        links: [
            {
                text: "View on <b>Codeberg</b>",
                link: "https://codeberg.org/denizk0461/text-basic/",
            },
            {
                text: "View on <b>Google Play</b> (outdated)",
                link: "https://play.google.com/store/apps/details?id=com.denizk0461.textbasic",
            },
        ],
    },
    {
        id: "dreamworld",
        isActive: false,
        banner: "",
        icon: "/projects/dreamworld/icon.webp",
        title: "Dreamworld",
        subtitle: "My First Album",
        paragraphs: [
            "<b>Dreamworld</b> is my first album. I always wanted to write a cohesive piece of media, and <b>Dreamworld</b> was my first stab at this task. Originally, I had planned to write an album in the month of July 2020, but that fell flat entirely, instead starting out with the production of <i>Monophobia</i> – a track name inspired by deadmau5' track of the same title – and working on the album until September of the year thereafter.",
            "I had started the track <i>Dreamworld</i> back in 2019, only adapting it to the project as I thought it would fit thematically. Coincidentally, <i>Flawed Romance</i> shares the same chord progression, which genuinely only happened because I accidentally wrote the same progression twice.",
            "The cover for <b>Dreamworld</b> is an edited picture of the Wallanlagen in Bremen, featuring a tree that fell and broke a year later. As such, this scene does not exist in quite the same way it did back then anymore.",
            "I own a vinyl record of this album, produced as a one-off by <a href='https://beevinyl.com/'>beevinyl</a>.",
        ],
        links: [
            {
                text: "Listen on <b>Spotify</b>",
                link: "https://open.spotify.com/album/3JTMNd0YfTj4TD2kFAsPHw",
            },
            {
                text: "Listen on <b>YouTube</b>",
                link: "https://youtube.com/playlist?list=OLAK5uy_kERZLj-3KCNU8BAwzdl6Jhl2d8qhx8cEI",
            },
        ],
    },
    {
        id: "anewbeginning",
        isActive: false,
        banner: "",
        icon: "/projects/anewbeginning/icon.webp",
        title: "A New Beginning",
        subtitle: "",
        paragraphs: [
            "<b>A New Beginning</b> is an EP I wrote back in 2018 in an effort to change up my production style. Originally, this EP was released as <i>A New Beginning (3-Track)</i>, featuring A New Beginning as <i>Nowy Początek</i> and <i>Farewell</i> in two different versions, one being an instrumental titled <i>Trzymajcie Się</i>, and the other one being a bootleg of Kelly Clarkson's <i>Behind These Hazel Eyes</i> called <i>Behind These Hazel Eyes (D4rkn355 'Farewell' Bootleg)</i>! For copyright reasons, the bootleg never made it onto Spotify.",
            "This EP, to me, represents the start of a deviation in tone, production quality, and musical style from my previous works. While it was only a start, I am quite proud of the works I produced.",
        ],
        links: [
            {
                text: "Listen on <b>Spotify</b>",
                link: "https://open.spotify.com/album/1OKwmD2ir1mnEOlsh01Woy",
            },
            {
                text: "Listen on <b>YouTube</b>",
                link: "https://www.youtube.com/playlist?list=OLAK5uy_lw6IbOgCciSSnevP-IDH-kkxAK1PJuA40",
            },
        ],
    },
    {
        id: "qwark",
        isActive: false,
        banner: "",
        icon: "/projects/qwark/icon.webp",
        title: "Qwark Grade Log",
        subtitle: "Grade Logging App",
        paragraphs: [
            "<b>Qwark</b> was an app I used to track relevant information for my time at gymnasium. Initially, it was only meant to track my grades in exams and whatnot, but its capabilities grew to calculate my report card grades and my final grade once I graduated. It was also able to keep simple notes which could be checked off to mark them as done, and it also had a built-in counter I used during lessons to track how often I raised my hand and how often I verbally contributed to classes! A discipline I severely struggled in.",
            "The app was named after Captain Qwark, the clumsy hero figure from the Ratchet & Clank series who never really gets his affairs in order. I suppose this referenced me personally more so than the app, since I was the one who needed help with tracking relevant information – a task for which the app proved very helpful!",
            "The app reached EOL when I graduated from gymnasium, since I had no use for it anymore, and I never made it available to anyone else either.",
        ],
        links: [
            {
                text: "View on <b>GitHub</b>",
                link: "https://github.com/denizk0461/qwark",
            },
        ],
    },
    {
        id: "avhplan",
        isActive: false,
        banner: "",
        icon: "/projects/avhplan/icon.webp",
        title: "AvH-Vertretungsplan",
        subtitle: "Substitution Plan App",
        paragraphs: [
            "<b>AvH-Vertretungsplan</b> was an app I developed back in 2019 to view the substitution plan of my school more easily, since I disliked the disorganised design of the school's website. The substitution app allowed me to be more quickly informed about my courses, as it notified me about any cancellations and changes in my schedule. It also allowed me to view the canteen offers, even though I'd never eaten at the school's canteen.",
            "The app was initially developed in Java and later converted into Kotlin as part of my Kotlin learning effort. The backend of the app, since the school website required a login to view the substitution plan, ran on a Raspberry Pi 3B using a Python script that scraped the website using Selenium and sent out notifications via Firebase. The Raspberry Pi crashed frequently and the script was not perfect, requiring me to frequently remote into the Pi using VNC, often while I was at school, to edit the script!",
            "Since the app was written for native Android but a few of my classmates had iPhones, I had an iOS version in the works, which even got to a finished state at one point, but since I lacked funding to pay the $99-a-year fee Apple charges developers, it was never published.",
            "This app was genuinely one of my most fun projects, not only serving me as a handy tool, but also being a great playground for my programming practice, since it taught me to build UIs, use databases, and more. The app had been downloaded by 250 other students at my school, which I was – and still am – very proud of.",
        ],
        links: [
            {
                text: "View on <b>GitHub</b>",
                link: "https://github.com/denizk0461/avh-substitution-plan",
            },
        ],
    },
    {
        id: "soundcloud",
        isActive: false,
        banner: "",
        icon: "/projects/soundcloud/icon.webp",
        title: "Soundcloud",
        subtitle: "Demo Dump & Archive",
        paragraphs: [
            "These two accounts house demos, work-in-progress versions, and old music tracks (2017 and prior) I wrote in the past.",
            "I used to experiment a lot! You'll find electronic house, progressive house, hardstyle, melodic stuff, dubstep, joke songs, and even a few remixes. Most of it is terrible, but I like looking back at it.",
        ],
        links: [
            {
                text: "Listen to the demo dump on <b>Soundcloud</b>",
                link: "https://soundcloud.com/denizk0461",
            },
            {
                text: "Listen to the archive on <b>Soundcloud</b>",
                link: "https://soundcloud.com/djd4rkn355",
            },
        ],
    },
];