aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/projects.astro
blob: c2f2840e46b7c6eab3de9feb1dde3a479ef916e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
---
import Layout from "../layouts/Layout.astro";
import SocialNavbar from "../components/SocialNavbar.astro";
import Card from "../components/Card.astro";
---

<Layout title="Projects">
  <main>
    <h1 class="text-4xl font-semibold text-center py-6">Projects</h1>
    <p class="text-center mb-4">
      Here are some of my projects. I love tinkering with stuff so for a more complete list, visit my <a class="font-bold" href="https://github.com/pinapelz">Github</a>
      </br>
      <a href="/contributions" class="mt-2 hover:underline text-center font-bold text-3xl animate-pulse">Open Source Contributions</a>
    </p>
    <ul role="list" class="link-card-grid">
      <Card
        href="https://github.com/pinapelz/ytmp3AutoTag"
        title="ytID3AutoTag"
        body="JSwing application that downloads YouTube videos as MP3 and automatically tags the ID3 fields throughing inferring the video metadata"
        language="Java"
        languageColor="#b07219"
        year="2022"
        tags={["Java", "Swing"]}
      />
            <Card
        href="https://github.com/pinapelz/yet-another-lavaplayer-bot"
        title="Yet Another Lavaplayer Bot"
        body="Self-hosted JDA Discord music bot that uses Lavaplayer to play music from YouTube, Soundcloud, etc in Discord voice channels"
        language="Java"
        languageColor="#b07219"
        year="2022"
        tags={["Java", "JDA"]}
      />
      <Card
        href="https://github.com/pinapelz/brokenithm-evolved-ios-umi"
        title="brokenithm-evolved-ios-umi"
        body="A low-level bridge that converts chuniio IO input and UMIGURI LED signals to brokenitm-evolved compatible iOS apps"
        language="Python"
        languageColor="#3572A5"
        year="2025"
        tags={["Python", "C#"]}
      />
      <Card
        href="https://github.com/pinapelz/NijiTrack"
        title="Nijitrack"
        body="Python and Next application that records and collects historical subscriber count for any subset of YouTube channels."
        language="Python"
        languageColor="#3572A5"
        year="2023"
        tags={["Python", "Next", "Tailwind", "SSR"]}
      />
      <Card
      href="https://github.com/pinapelz/JHolodex"
      title="JHolodex"
      body="Object-Oriented Java wrapper for the Holodex API written with Retrofit2. Published on Maven Central"
      language="Java"
      languageColor="#b07219"
      year="2023"
      tags={["Java", "Retrofit2", "Maven"]}
    />
      <Card
        href="https://github.com/Patchwork-Archive"
        title="Patchwork Archive"
        body="An archival system to help streamline the preservation of any subset of YouTube videos. Fully featured frontend, backend, and worker system for archival"
        language="Javascript"
        languageColor="#f1e05a"
        year="2023"
        tags={["React", "Python", "MySQL" , "S3 Storage", "Tailwind"]}
      />
      <Card
        href="https://github.com/pinapelz/moekyun-me-link-shortener"
        title="Moekyun Me Link Shortener"
        body="A self-hosted Flask link shortner template that aims to be a one-click deployment on serverless platforms"
        language="Python"
        languageColor="#3572A5"
        year="2023"
        tags={["HTML", "Flask", "Python", "Postgres", "Redis"]}
      />
      <Card
        href="https://github.com/pinapelz/tiny-time-tracker"
        title="tiny-time-tracker"
        body="A tiny Rust game playtime tracker for Windows that works for any executable. Takes advantage of existing OS utilities to avoid polling. "
        language="Rust"
        languageColor="#dea584"
        year="2025"
        tags={["Rust", "Askama", "Tailwind"]}
      />
      <Card
      href="https://blog.pinapelz.com"
      title="Personal Blog"
      body="My personal blog where I ramble about various technical topics, projects, and other things that interest me. Written in Astro and uses MDX which combines the ease of markdown with the interactivity of React"
      language="Astro"
      languageColor="#ff5a03",
      year="2023"
      tags={["Astro", "HTML", "Javascript", "MDX", "Markdown"]}
    />
      <Card
        href="https://github.com/pinapelz/573-updates"
        title="573-UPDATES"
        body="A highly modular scraper and news site for various arcade games. Scrapes to JSON and deploys to a SPA"
        language="Typescript"
        languageColor="#3178c6",
        year="2025"
        tags={["React", "Typescript", "Python"]}
      />
      <Card
      href="https://github.com/pinapelz/ffxiv-chronowatcher"
      title="ffxiv-chronowatcher"
      body="A Rust library for calculating Eorzean time and predicting future zone forecasts in Final Fantasy XIV. Unittested and published on crates.io"
      language="Rust"
      languageColor="#dea584",
      year="2024"
      tags={["Rust", "Crates.io"]}
    />
      <Card
        href="https://github.com/pinapelz/ffxiv-malmstone"
        title="Malmstone Calculator"
        body="A IMGui Final Fantasy XIV Dalamud Plugin that hooks into the game and tells you how many more PVP matches you have to play to reach your target goal"
        language="C#"
        languageColor="#178600"
        year="2023"
        tags={["ImGui", "Dalamud"]}
      />
    </ul>
    <br/>
    <a href="https://knowledge.pinapelz.com/personal/tools" class="mt-2 hover:underline text-2xl animate-pulse">and also a few smaller tools...</a>
  </main>
  <SocialNavbar />
  <style>
    main {
      margin: auto;
      padding: 1rem;
      max-width: 1200px;
      color: white;
      font-size: 20px;
      line-height: 1.6;
    }
    a{
      color: white;
    }
    .link-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(24ch, 1fr));
      gap: 2rem;
      padding: 0;
    }
    @media (max-width: 1020px) {
      .link-card-grid {
        display: grid;
        grid-template-columns: repeat(1, minmax(24ch, 1fr));
        gap: 2rem;
        padding: 0;
        width: 100%;
      }
    }
  </style>
</Layout>
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage