From bf3efb98d073857f78725a87f6505a2d72a5786a Mon Sep 17 00:00:00 2001 From: Mat Manna Date: Tue, 4 Aug 2026 16:34:21 -0400 Subject: [PATCH] chore: compress marmalade.png and highlight awards: --- _includes/post-card.html | 2 +- _layouts/default.html | 26 ++++++++++++++++++++++++- _projects/fraud-squad.md | 4 ++-- _projects/hackatime.md | 5 +++-- _projects/marmalade.md | 2 +- _projects/ship-channel.md | 3 ++- _projects/unfold.md | 1 + assets/images/projects/marmalade.png | Bin 0 -> 24962 bytes assets/images/projects/marmalade.webp | Bin 1750 -> 458 bytes index.md | 27 +++++++++++++------------- 10 files changed, 48 insertions(+), 22 deletions(-) create mode 100644 assets/images/projects/marmalade.png diff --git a/_includes/post-card.html b/_includes/post-card.html index 397423a..d73bdbd 100644 --- a/_includes/post-card.html +++ b/_includes/post-card.html @@ -97,7 +97,7 @@ adjust based on kind so the same template can render posts, projects, pages, etc {% for link in entry.links %}
+ {% if link.icon and link.icon contains 'fa-trophy' %}data-trophy-link {% endif %}class="bg-primary-100 dark:bg-primary-900 border border-primary-500 py-1 px-2 rounded-md text-xs flex flex-row items-center gap-2"> {% include icon.html name=link.icon class="w-3 h-3" %}{{ link.title }}
diff --git a/_layouts/default.html b/_layouts/default.html index 6b09258..5bc74c9 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -6,6 +6,30 @@ layout: compress {% include head.html %} + +
@@ -44,4 +68,4 @@ layout: compress {% include toggle-theme.html %} - \ No newline at end of file + diff --git a/_projects/fraud-squad.md b/_projects/fraud-squad.md index 5f65d01..5043185 100644 --- a/_projects/fraud-squad.md +++ b/_projects/fraud-squad.md @@ -1,7 +1,7 @@ --- layout: project title: Fraud Squad -description: Member and analyst for the selective internal team responsible for preventing organizational losses resulting from coordinated and distributed fraud +description: Member and analyst for the selective internal team responsible for preventing thousands of dollars in distributed organizational losses image: /assets/images/projects/joe.webp start_date: 2026-06-25 org: [ "hack club" ] @@ -9,4 +9,4 @@ tags: - Data Analysis - Team Coordination - Support Ticketing ---- \ No newline at end of file +--- diff --git a/_projects/hackatime.md b/_projects/hackatime.md index 99ac7a1..dba8bcd 100644 --- a/_projects/hackatime.md +++ b/_projects/hackatime.md @@ -1,5 +1,5 @@ --- -layout: project + title: Hackatime description: As lead support engineer and volunteer contributor to Hackatime, Hack Club's in-house time tracking tool, added QoL features and security enhancements image: /assets/images/projects/hackatime.webp @@ -17,4 +17,5 @@ tags: - Svelte - Tailwind - API ---- \ No newline at end of file +hidden: true +--- diff --git a/_projects/marmalade.md b/_projects/marmalade.md index 4d99833..3fce162 100644 --- a/_projects/marmalade.md +++ b/_projects/marmalade.md @@ -2,7 +2,7 @@ layout: project title: Marmalade description: Original developer and maintainer of an API sync & permission access layer for Jelly, a shared team inbox SaaS product used by support teams -image: /assets/images/projects/marmalade.webp +image: /assets/images/projects/marmalade.png start_date: 2026-06-28 org: [ "hack club" ] tags: diff --git a/_projects/ship-channel.md b/_projects/ship-channel.md index a91a9fa..206350b 100644 --- a/_projects/ship-channel.md +++ b/_projects/ship-channel.md @@ -10,4 +10,5 @@ tags: - OIDC - Email - Postgres ---- \ No newline at end of file +hidden: true +--- diff --git a/_projects/unfold.md b/_projects/unfold.md index 65d7acf..a63a304 100644 --- a/_projects/unfold.md +++ b/_projects/unfold.md @@ -10,4 +10,5 @@ tags: - Fillout - Slack - Operations +hidden: true --- diff --git a/assets/images/projects/marmalade.png b/assets/images/projects/marmalade.png new file mode 100644 index 0000000000000000000000000000000000000000..eeaa138212926cac18721cb7f95ce6a5f2c7506a GIT binary patch literal 24962 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 S_>Jf_1&tY#q$e;iFaQ8G`p%I6 literal 1750 zcmWIYbaOk$#=sEn>J$(bV4-k`je+5V1;boMtqF{ZjCOPV7W*z;qO7E7#L=)pxHB{F zqt6t!+jbRv%z+CoG#+BoXKpxl$9tPqh1e#=#I-qdoJE(RNarT2f1 z`2Se@U|Rg^ZHev=Z?}Dw`Btcy^(f_=*tIi@vPw!*FKyUW?#{4hznzEuln80vWtV!^ zO}Dq2cH_uuh6ILfW?UI}>+XJ^e_rs8&W-k%n+avv!IlffJDT@Q3KB^=uD(0)-K(#2 zq+V4WZ>qZX(_ThCVE5_=H+TG0_*XM`QvEO9AgfxLdesiU4d#Ljuh(34cHO?=*_TPW z)yj9KR?N5~|M@Ae`~E98XFfR^Qa`hJ&P!Hz=`+V3{GYF)y5)^?$Em^=uJ9Irp3r}< zyN_J#dlFqUujaRf{qvLTU-Y)|e>7Rhy>1%AN3J89s`}4QERN^V&bZT-zj3-oy`6{s zd=>fgllY&XWdHo6`R6CcKOh%Ppje{bBXFm`Wt`B7dpB=PxZPuTj>*sI4amLn=O_N@ zc1t_Qr~fTQd84D&>y_?~#>uQE`Es9^gg#;T_jlg=Pv0!x{VKko{3x*DVElB=g^W?= zfme%WZ-1O@%eLZa%N)+Aoy#UF&Zz(H#I^dKNRsoEd7(d8P5-U9C1x@6ZlKeYc{)M& zKelR4?V24E`^!>9_ujU-8Cf1K*OxJ*KR$M7+hq}Zo;eM@6=@eIPmDWLlxLsG5uv*ZZx`jb_om65_Y|!-%x@)i+o8*z zY5JURE_qt4ib>tyzgwDwwfqZt?0%^J@LqG)wz=|0+Ji#c!{t-mww^vXA!?i5-%KmN zzAUrsg`GRUR_P=L%v!W1UyXq=-+!MHzq*g7hSn3k`)~jZB^LzfeIwzM*sa!9} z_0IZ!d*#N?wV|8%c6%nxm$%;kU-svcZ$B1^&GB1SlXCt^1>@&5#rbFJvVwQ4O0K!c z&Eq6=(6U2uhlIzS@0veKMYYf87TY(3r>XCEcrMbkC_pIZ%^F`Hh5qatQ&wDCusdy| zOpVHIz0)lwvhyBJE3vSBZZ^;6=R#kuZ*flSZi=3nKY8E1Ty)Sc`waI~{?naCMom)7 z8k`T=Z2uZ_xb5rSo6lTcDllCC5zn7(t);$;QSfEq53{s*QMaA@p09o>7Mc5C-X+#0 z50@+bwoB1wv(x{P;c#(h`)b|X)6bq~B>mjCmht79-;;eGDy@sZB(L)B?%9Qv!147t@|GJ=D!p{xi?sHhJ9> zqYU=mOP{uvdKs?K+aNw^VOa5peQ(wp=YP5Ie4Y1hmxK0BzjJKtpJiCumU=J9@;S*W zd|->c^SQ9J%C&tvlixElJbC25x~(cT!#~heg5RmM;Bv0R^0EhW^d)cTKT&3I`y9Vs`#Wk^NWcuwXQc)IE;%LsJ<)SkwIdCcLhM;>y%68qA2?@U0c;=7y$ z659pYZU!Yp^Z2}|ZRWE+qP^hf^D2*L#d|k5hqLdk;qJPT@L%%LjniBI7xCXY8SD0M zl3K{&Eeq>by6-6sSjuXY8_4_8tspMq#*6lu@)ag`eyH+Fw!U1%WoJ0SH}5zoQ~&`T BR;B;| diff --git a/index.md b/index.md index 6cb8a29..e5f6c0f 100644 --- a/index.md +++ b/index.md @@ -37,18 +37,15 @@ an aspiring engineer focused on open protocols, automation, and rapid prototypin
- ## a lil' :about me -A decade of technical experience has shaped me into an indie maker who builds engaging, accessible, and secure toolsI see my projects as tools meant to serve, not products to exploit. I prefer to use tools which align with this.[^1] for real people. I am especially passionate about search UX, crafting interfaces with the real world, and decentralized infrastructure. +A decade of technical experience has shaped me into an indie maker who builds engaging, accessible, and secure toolsI see my projects as tools meant to serve, not products to exploit. I prefer to use tools which align with this.[^1] for real people. I am especially passionate about search UX, crafting interfaces with the real world, and decentralized infrastructure. Outside of computing, I’m also a guitarist, competition aficionado, and linguaphileI speak and (sometimes) understand English, Spanish, and Esperanto so far[^2]. - - ### what i'm up to :now -Recently, I've been shipping, (expand for stats!) but also: +Recently, I've been shipping, (expand for stats!) but also:
Hackatime activity heatmap @@ -74,7 +71,7 @@ Recently, I've been shipping, (expand for stats!) but also: if (!lightSrc) return; const root = document.documentElement; const updateSrc = () => { - const isDark = root.classList.contains('dark') || + const isDark = root.classList.contains('dark') || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) || localStorage.theme === 'dark'; const target = isDark ? darkSrc : lightSrc; @@ -123,10 +120,10 @@ Recently, I've been shipping, (expand for stats!) but also:
- ### formative :experiences Since being exposed to computer programming on [Scratch](https://scratch.mit.edu) a decade ago, I’ve: + - built a life-sized [board game](https://github.com/ldnano/o-fn) using industrial tech which supports community outreach & won: - 1st in the 2025 **PLCNext Innovation Contest Nationals** - 1st at the 2026 **Pennsylvania Invention Convention** @@ -163,11 +160,12 @@ Since being exposed to computer programming on [Scratch](https://scratch.mit.edu } -_Here are some more initiatives & projects I've contributed to both collaboratively and independently... (
all)_ +_Some initiatives & projects I've worked on independently or with competition teams... (all)_
    - {% assign projects_without_end = site.projects | where_exp: "project", "project.end_date == nil or project.end_date == ''" %} - {% assign projects_with_end = site.projects | where_exp: "project", "project.end_date != nil and project.end_date != ''" | sort: "end_date" | reverse %} + {% assign visible_projects = site.projects | where_exp: "project", "project.hidden != true" %} + {% assign projects_without_end = visible_projects | where_exp: "project", "project.end_date == nil or project.end_date == ''" %} + {% assign projects_with_end = visible_projects | where_exp: "project", "project.end_date != nil and project.end_date != ''" | sort: "end_date" | reverse %} {% assign recent_projects = projects_without_end | concat: projects_with_end %} {% assign project_count = 0 %} {% for project in recent_projects %} @@ -181,11 +179,12 @@ _Here are some more initiatives & projects I've contributed to both collaborativ {% endfor %}
-_and through my various roles and projects within and at Hack Club..._ +_...and through my various roles and responsibilities at Hack Club..._
    - {% assign projects_without_end = site.projects | where_exp: "project", "project.end_date == nil or project.end_date == ''" | where_exp: "project", "project.org contains 'hack club' or project.org contains 'Hack Club'" | sort: "start_date" | reverse %} - {% assign projects_with_end = site.projects | where_exp: "project", "project.end_date != nil and project.end_date != ''" | where_exp: "project", "project.org contains 'hack club' or project.org contains 'Hack Club'" | sort: "start_date" | reverse %} + {% assign visible_projects = site.projects | where_exp: "project", "project.hidden != true" %} + {% assign projects_without_end = visible_projects | where_exp: "project", "project.end_date == nil or project.end_date == ''" | where_exp: "project", "project.org contains 'hack club' or project.org contains 'Hack Club'" | sort: "start_date" | reverse %} + {% assign projects_with_end = visible_projects | where_exp: "project", "project.end_date != nil and project.end_date != ''" | where_exp: "project", "project.org contains 'hack club' or project.org contains 'Hack Club'" | sort: "start_date" | reverse %} {% assign recent_projects = projects_without_end | concat: projects_with_end %} {% for project in recent_projects limit:8 %} {% include post-card.html entry=project kind='project' %} @@ -203,8 +202,8 @@ _...and here are some thoughts I've had and shared... (all)_ ## Footnotes + [^1]: I see my projects as tools meant to serve humans, not exploit them. I prefer to use products which align with this. [^2]: I speak and (sometimes) understand English, Spanish, and Esperanto so far -[^3]: I've also contributed code in infrastructure (such as [Hackatime](https://hackatime.hackclub.com), [Revoker](https://revoke.hackclub.com), & [site](https://hackclub.com?uwu)), and reported data leaks through the security [program](https://security.hackclub.com).
    -- 2.51.2