nav
me
  _        _           _     _     
 | |_ __ _(_)      ___| |__ (_)___ 
 | __/ _` | |_____/ __| '_ \| / __|
 | || (_| | |_____\__ \ | | | \__ \
  \__\__,_|_|     |___/_| |_|_|___/
                                   

Currently @ stoa.gg

Studying Computer Science @ MRU

Bragg Creek, Alberta

socials
about

I do computer things at Mount Royal University, previously working as a Research Assistant. I typically build stuff in typescript, focusing on web development with react. Soon™ to be diving into native developent as well as data science.

Aside from school, we do a little hobbymaxxing. Currently dabbling in mechanical keyboards, playing music, fashion, photography, and cooking. I'd love to get into making my own clothes and homelabbing as well, but thats a future endeavor.

Im always up to chat about any of these things, so do reach out by socials or preferably through discord!

propaganda

You should use NixOS :D

I daily drive NixOS on my Framework (which was my first linux distro), and the experience has been (mostly) smooth. The main appeal for me is the completely reproducible configuration and environment, making setting up a project suuuuper clean.

By the way, you should also get a Framework laptop. The 13 Pro is soon to come...

Also, NixOS on the desktop is on the way. I'm just lazy :3c

vendor-reports

Full-Stack internal web application for showing consignment vendors real-time visibility into their sales data.

MaintainingFreelanceTypeScriptReactNext.jsNeon AuthNeonDBPrismaTailwindCSSSquare SDKVercelPlaywrightAxiomResend
stoa

A private communication platform built with a focus on privacy.

WIPPersonal ProjectTypeScriptReactConvexRustTauriCloudflare R2
urban-pulse

Modern web application for reporting and viewing urban issues for local businesses and people. Build for Hack the Change 2025

HackathonNext.jsTypeScriptReactPrismaNeonDBNeon AuthTailwindCSSVercelOllamaAWS S3
system-design

A documentation-style resource compiled from a system design course, covering fundamental concepts and best practices in designing scalable and efficient systems.

School ProjectTypescriptReactNext.jsGitNeetCodeSystem Design
register-allocator

A register allocator for a simple compiler; implemented in both Python and Haskell.

School ProjectPythonHaskellGit
space-invaders

Recreation of the classic arcade game in C and MC68000 assembly, running in an atari emulator with custom hardware drivers.

School ProjectCAssemblyAtariGit
resume

I enjoy making things, leaning more toward software development in typescript and react. I started programming in University and have been falling deeper into it ever since. The main reason I enjoy programming so much, is because of the possibilities it opens up to create things that help people. Building and creating things that can be used by others - that can make their experience just a little better - is what drives me to keep learning and improving my skills.

education
Mount Royal UniversityCalgary, AB
Bachelor of Science in Computer ScienceSept. 2023 – Expected Apr. 2028
  • Cumulative GPA: 3.91 / 4.00
  • Dean's Honour Roll (6 consecutive semesters)
  • President's Honour Roll (3 consecutive years)
  • Relevant Courses: Algorithms and Complexity, System Design, Introduction to Databases, Software Engineering, Web Development, Operating Systems, Human-Computer Interaction, Artificial Intelligence
experience
Freelance Software DeveloperJan. 2026 – Current
All Through The HouseOkotoks, AB
Next.jsPrismaPostgreSQLSquare SDKVitest
  • Built and maintain a production B2B consignment-reporting platform, replacing manual admin reporting with self-serve vendor access across 30+ API routes and 14 data models
  • Cut 120+/week vendor sales-data and statement requests to the business owner, by designing an incremental statement-generation pipeline that converts Square transactions into per-vendor payout statements
  • Attributed 7,000+ Square orders into 15,000+ vendor-specific entries, by integrating the Square SDK and modeling a vendor concept absent from Square's native API
  • Cut analytics API latency 34% (532ms to 347ms), by batching five aggregation queries into a single SQL query with materialized CTEs
  • Built a 300-case Vitest suite across 28 modules with zero DB or network dependencies, wiring it into a GitHub Action for fast, deterministic CI runs
Undergraduate Research AssistantMay 2025 – Aug. 2025
Mount Royal UniversityCalgary, AB
PythonNumPyMatplotlibLaTeX
  • Built Python visualization pipelines using NumPy and Matplotlib to analyze simulation outputs for malware propagation research in wireless sensor networks
  • Prototyped simulations using emerging research libraries to model malware spread patterns, enabling the team to evaluate new modeling approaches
  • Authored LaTeX technical documentation of experimental methodology and results for research publication
projects
StoaMar. 2026 – Present
ReactTypeScriptTauriConvexTailwindCSSWorkOS
  • Shipped features incrementally alongside a team using Git branching workflows to keep parallel work conflict-free
  • Translated feature requirements into tracked tasks via Agile sprints, managing scope across the team
  • Prototyped UI flows and iterated with teammates through design reviews to refine the end-user experience
  • Built a file-upload system with a custom UI and status menu, serving resized copies to cut media costs by 80%
  • Diagnosed and resolved cross-platform compatibility bugs spanning Windows, macOS, and Linux
Urban PulseHack the Change 2025Oct. 2025 – Oct. 2025
Next.jsPrismaPostgreSQLOllamaAWS S3
  • Built the backend for Urban Pulse, an urban incident-reporting system, in a 4-person team during a hackathon focused on software for positive social impact
  • Enabled secure report CRUD and pagination by building a dozen type-safe Next.js server actions with per-user authorization and server-side validation
  • Designed a 1-to-5 star rating system with composite-key vote upserts, denormalizing each report's average rating for fast reads
  • Integrated a vision LLM (Llama 3.2 11B) via an OpenAI-compatible API, letting users report issues with just a photo – auto-generating descriptions with prompt engineering and moderation fallbacks
technical-skills
languages
JavaScript/TypeScriptPythonSQLJavaC/C++HTML/CSSAssemblyNix
frameworks
ReactNext.jsExpressConvexNeonPrismaDrizzleHonoWorkOSClerk
tools
GitGitHubVSCodePostmanEmacsClaudeSentry
testing
PlaywrightVitestPytestGitHub Actions
libraries
TailwindCSSNumPyMatplotlibMongooseShadcnRadix UIBetterAuthSquare SDKResendAxiom
preface

I would definitely love to put all of my hobby stuff here, but I couldn't quite figure out how to style this section with all the goodies in a way that I was happy with, so there will be another page for that.

stats

Or, don't, instead here is my progress in each of my hobbies.

(i.e. what I believe my progress is to reaching the "endgame" of this hobby)

HIDNameProgress
205
Keyboards
Mechanical Keyboards
█████████████████████████████████████████
432
Music
Music
████████░░░░░████████████████████░░░░░░░░░░
28
Fashion
Fashion
██████░░░░░░░██████████████░░░░░░░░░░░░░░░░
600
Audio
Audiophile
███░░░░░░░░░░██████░░░░░░░░░░░░░░░░░░░░░░░░
145
Cooking
Cooking
███░░░░░░░░░░██████░░░░░░░░░░░░░░░░░░░░░░░░
20
Photography
Photography
██░░░░░░░░░░░█████░░░░░░░░░░░░░░░░░░░░░░░░░

Now, of course I could go deeper into the rabbit hole for all of these, but this is more of an idea of my progress relative to how far I'd feasibly go.

footer© 2026 - tai-shis 1627746