This commit is contained in:
Henry Hiles 2026-05-11 15:19:40 -04:00
commit b1f93f4986
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
6 changed files with 380 additions and 176 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

View file

@ -67,7 +67,80 @@ import CallToAction from "../components/CallToAction.astro"
<article>
<h3
><Image
width={1}
src={jobProcessorIcon}
alt="The icon for QJobProcessor"
/>Quantarc Mobile Apps</h3
>
<span>Aug 2023 - Present</span>
<p>
I designed, developed, and distributed two mobile
apps for Quantarc, QHelpdesk and QJobProcessor.
QHelpdesk streamlines customer support by enabling
users to submit, track, and manage requests
efficiently, while QJobProcessor allows contractors
to see, complete, and update jobs. My
responsibilities included UI/UX design,
multiplatform support, and app development.
</p>
</article>
<aside class="double">
<Image
src={jobProcessor}
alt="The QJobProcessor mobile app"
/>
<Image src={helpdesk} alt="The QHelpdesk mobile app" />
</aside>
</section>
<section>
<article>
<h3
><img
src="https://sly.pictures/images/macos.webp"
alt="The icon for Sly, consisting of two overlapping white pyramids on an orange background."
/> Sly</h3
>
<span>May 2026 - Present</span>
<p>
I maintain <a href="https://sly.pictures/">Sly</a>,
a friendly image editor that requires no internet
connection or preexisting expertise.
</p>
</article>
<aside>
<img
src="https://sly.pictures/images/screenshots/1.webp"
alt="The color grading screen of Sly, showing sliders for Saturation, Temperature, and Tint"
/>
</aside>
</section>
<section>
<article>
<h3
><img
src="https://git.federated.nexus/Nexus/nexus/raw/branch/main/assets/mobile.svg"
alt="The Nexus Client logo, a chat bubble with an arrow above a rectangle showing the Federated Nexus colors"
/> Nexus Client</h3
>
<span>Nov 2025 - Present</span>
<p>
I'm developing <a
href="https://nexus.federated.nexus"
>Nexus Client</a
>, a simple and user-friendly Matrix client made
with Flutter and the Gomuks SDK.
</p>
</article>
<aside>
<img
src="https://git.federated.nexus/Nexus/nexus/media/branch/main/assets/screenshotDark.png"
alt="A screenshot of the main chat page of Nexus Client, showing spaces, rooms, messages, and room members."
/>
</aside>
</section>
<section>
<article>
<h3
><Image
src={federatedNexusIcon}
alt="The Federated Nexus logo, showing interconnected lines going out to orbs filled with the colors of the pride flag."
/> Federated Nexus</h3
@ -89,25 +162,6 @@ import CallToAction from "../components/CallToAction.astro"
/>
</aside>
</section>
<section>
<article>
<h3>Nexus Client</h3>
<span>Nov 2025 - Present</span>
<p>
I'm developing <a
href="https://git.federated.nexus/Henry-Hiles/nexus"
>Nexus Client</a
>, a simple and user-friendly Matrix client made
with Flutter and the Gomuks SDK.
</p>
</article>
<aside>
<Image
src={nexusClient}
alt="The login page for Nexus Client"
/>
</aside>
</section>
<section>
<article>
<h3>MatrixOIDC</h3>
@ -116,10 +170,9 @@ import CallToAction from "../components/CallToAction.astro"
I made <a
href="https://git.federated.nexus/henry-hiles/matrixoidc"
>MatrixOIDC</a
>, for Federated Nexus, an API that allows for OIDC
login to services authenticating against a Matrix
homeserver, without the homeserver needing to
support OIDC.
>, an Dart program that allows for OIDC login to
services authenticating against a Matrix homeserver,
without the homeserver needing to support OIDC.
</p>
</article>
<aside>
@ -129,55 +182,6 @@ import CallToAction from "../components/CallToAction.astro"
/>
</aside>
</section>
<section>
<article>
<h3>Nexusbot</h3>
<span>Nov 2025 - Present</span>
<p>
I created <a
href="https://git.federated.nexus/Federated-Nexus/nexusbot"
>Nexusbot</a
>, a bot which automates the signup process for
Federated Nexus. It does this by sending user
registrations into an administrator Matrix room,
where each application can be accepted or denied.
</p>
</article>
<aside>
<Image
src={nexusBot}
alt="A screenshot showing registrations to Federated Nexus, sent by Nexusbot"
/>
</aside>
</section>
<section>
<article>
<h3
><Image
src={jobProcessorIcon}
alt="The icon for QJobProcessor"
/>Quantarc Mobile Apps</h3
>
<span>Aug 2023 - Present</span>
<p>
I designed, developed, and distributed two mobile
apps for Quantarc, QHelpdesk and QJobProcessor.
QHelpdesk streamlines customer support by enabling
users to submit, track, and manage requests
efficiently, while QJobProcessor allows contractors
to see, complete, and update jobs. My
responsibilities included UI/UX design,
multiplatform support, and app development.
</p>
</article>
<aside class="double">
<Image
src={jobProcessor}
alt="The QJobProcessor mobile app"
/>
<Image src={helpdesk} alt="The QHelpdesk mobile app" />
</aside>
</section>
<section>
<article>
<h3>Nixpkgs</h3>
@ -279,7 +283,7 @@ import CallToAction from "../components/CallToAction.astro"
<script>
;(async () => {
const response = await fetch(
"https://matrix.federated.nexus/_continuwuity/local_user_count"
"https://matrix.federated.nexus/_continuwuity/local_user_count",
)
const json = await response.json()
document.querySelector("#user-count")!.innerHTML = json["count"]

View file

@ -66,6 +66,7 @@ main > * > section {
& img {
width: 2.5rem;
border-radius: 0.5rem;
@media (max-width: 450px) {
display: none;
}