← Portfolio

Engineering proof · Private systems, public signal

The strongest work is private. The engineering story is not.

Aegis, Semper Command Center, and VolumeGuard are owner-controlled products whose repositories stay private. This page documents what I built and the constraints that shaped each system, then puts public activity from both GitHub accounts in context.

01 · GitHub

Private engineering, documented without exposing source.

The strongest owner-controlled product work lives in private repositories. These summaries explain the architecture and constraints; public activity follows as supporting evidence.

Selected private engineering

Owner-controlled systems I can discuss at the architecture level.

The code stays private. Each snapshot names the product boundary, my role, what I built, and the constraint that shaped the system without publishing protected source.

01Founder & Principal Engineer

Semper product · Source private

Aegis

Local-first legal evidence intelligence

What I builtA FastAPI and React appliance that ingests discovery, preserves source hashes, processes documents and media locally, and supports case-scoped search with source-linked answers.

Hard constraintRaw evidence remains read-only and case-scoped; restricted material produces no derivatives, and AI must cite the record or decline to answer.

02Founder & Principal Engineer

Semper product · Source private

Semper Command Center

AI-assisted sourcing operations

What I builtA Next.js operations hub that turns part requests, supplier results, and replies into durable RFQ jobs with role-scoped queues, evidence-backed rankings, handoff briefs, and a hash-chained work log.

Hard constraintAI can normalize, rank, and draft, but purchasing, supplier outreach, and customer-facing quotes remain behind explicit human review.

03Founder & Android Product Engineer

Semper product · Source private

VolumeGuard

Native Android utility

What I builtA Kotlin and Jetpack Compose app that enforces user-selected media-volume limits through coordinated service, system-observer, notification-listener, media-session, and fallback polling paths.

Hard constraintAndroid provides no sanctioned volume-lock API, so enforcement must recover across independent change paths without creating feedback loops or excessive battery use.

Supporting signal

One public activity view across both accounts.

The calendar and repository statistics establish visible recency and breadth. They support the private-engineering evidence above; they do not replace it.

Public contributions · 12 mo
23
Combined public repos
48
Top languages by bytes
TypeScript · Swift · HTML · Dart
Latest public activity
Aug 11, 2026

Trailing 12 months

One combined contribution calendar.

2,076 contributions visible across both public profiles.

Scroll horizontally to inspect the full year.

Combined GitHub contribution activityDaily activity visible across shagene and semperdigitalsolutions from Aug 12, 2025 through Aug 11, 2026.AugSepOctNovDecJanFebMarAprMayJunJulAugMWFNo contributions on Aug 12, 2025No contributions on Aug 13, 2025No contributions on Aug 14, 2025No contributions on Aug 15, 2025No contributions on Aug 16, 2025No contributions on Aug 17, 2025No contributions on Aug 18, 2025No contributions on Aug 19, 2025No contributions on Aug 20, 2025No contributions on Aug 21, 2025No contributions on Aug 22, 2025No contributions on Aug 23, 2025No contributions on Aug 24, 2025No contributions on Aug 25, 2025No contributions on Aug 26, 2025No contributions on Aug 27, 2025No contributions on Aug 28, 2025No contributions on Aug 29, 2025No contributions on Aug 30, 2025No contributions on Aug 31, 2025No contributions on Sep 1, 2025No contributions on Sep 2, 2025No contributions on Sep 3, 2025No contributions on Sep 4, 2025No contributions on Sep 5, 2025No contributions on Sep 6, 20251 contribution on Sep 7, 2025No contributions on Sep 8, 2025No contributions on Sep 9, 2025No contributions on Sep 10, 2025No contributions on Sep 11, 2025No contributions on Sep 12, 2025No contributions on Sep 13, 2025No contributions on Sep 14, 2025No contributions on Sep 15, 2025No contributions on Sep 16, 2025No contributions on Sep 17, 2025No contributions on Sep 18, 2025No contributions on Sep 19, 2025No contributions on Sep 20, 2025No contributions on Sep 21, 2025No contributions on Sep 22, 20253 contributions on Sep 23, 2025No contributions on Sep 24, 2025No contributions on Sep 25, 2025No contributions on Sep 26, 2025No contributions on Sep 27, 20253 contributions on Sep 28, 2025No contributions on Sep 29, 20254 contributions on Sep 30, 2025No contributions on Oct 1, 20252 contributions on Oct 2, 20254 contributions on Oct 3, 20253 contributions on Oct 4, 2025No contributions on Oct 5, 20259 contributions on Oct 6, 20254 contributions on Oct 7, 2025No contributions on Oct 8, 2025No contributions on Oct 9, 20252 contributions on Oct 10, 2025No contributions on Oct 11, 2025No contributions on Oct 12, 20251 contribution on Oct 13, 2025No contributions on Oct 14, 2025No contributions on Oct 15, 2025No contributions on Oct 16, 2025No contributions on Oct 17, 2025No contributions on Oct 18, 20254 contributions on Oct 19, 2025No contributions on Oct 20, 2025No contributions on Oct 21, 2025No contributions on Oct 22, 2025No contributions on Oct 23, 2025No contributions on Oct 24, 2025No contributions on Oct 25, 2025No contributions on Oct 26, 2025No contributions on Oct 27, 2025No contributions on Oct 28, 2025No contributions on Oct 29, 2025No contributions on Oct 30, 2025No contributions on Oct 31, 2025No contributions on Nov 1, 2025No contributions on Nov 2, 2025No contributions on Nov 3, 2025No contributions on Nov 4, 2025No contributions on Nov 5, 2025No contributions on Nov 6, 2025No contributions on Nov 7, 2025No contributions on Nov 8, 2025No contributions on Nov 9, 2025No contributions on Nov 10, 2025No contributions on Nov 11, 2025No contributions on Nov 12, 2025No contributions on Nov 13, 20252 contributions on Nov 14, 2025No contributions on Nov 15, 2025No contributions on Nov 16, 2025No contributions on Nov 17, 2025No contributions on Nov 18, 20252 contributions on Nov 19, 20254 contributions on Nov 20, 20253 contributions on Nov 21, 202515 contributions on Nov 22, 202521 contributions on Nov 23, 20254 contributions on Nov 24, 2025No contributions on Nov 25, 20252 contributions on Nov 26, 20253 contributions on Nov 27, 2025No contributions on Nov 28, 2025No contributions on Nov 29, 2025No contributions on Nov 30, 2025No contributions on Dec 1, 20252 contributions on Dec 2, 2025No contributions on Dec 3, 2025No contributions on Dec 4, 2025No contributions on Dec 5, 2025No contributions on Dec 6, 2025No contributions on Dec 7, 2025No contributions on Dec 8, 2025No contributions on Dec 9, 2025No contributions on Dec 10, 2025No contributions on Dec 11, 2025No contributions on Dec 12, 2025No contributions on Dec 13, 20252 contributions on Dec 14, 2025No contributions on Dec 15, 2025No contributions on Dec 16, 2025No contributions on Dec 17, 2025No contributions on Dec 18, 2025No contributions on Dec 19, 2025No contributions on Dec 20, 2025No contributions on Dec 21, 2025No contributions on Dec 22, 2025No contributions on Dec 23, 2025No contributions on Dec 24, 2025No contributions on Dec 25, 2025No contributions on Dec 26, 2025No contributions on Dec 27, 2025No contributions on Dec 28, 2025No contributions on Dec 29, 2025No contributions on Dec 30, 2025No contributions on Dec 31, 2025No contributions on Jan 1, 2026No contributions on Jan 2, 2026No contributions on Jan 3, 2026No contributions on Jan 4, 2026No contributions on Jan 5, 2026No contributions on Jan 6, 2026No contributions on Jan 7, 2026No contributions on Jan 8, 2026No contributions on Jan 9, 2026No contributions on Jan 10, 2026No contributions on Jan 11, 202624 contributions on Jan 12, 202615 contributions on Jan 13, 2026134 contributions on Jan 14, 202616 contributions on Jan 15, 20267 contributions on Jan 16, 202628 contributions on Jan 17, 202624 contributions on Jan 18, 20264 contributions on Jan 19, 202610 contributions on Jan 20, 20262 contributions on Jan 21, 2026No contributions on Jan 22, 202615 contributions on Jan 23, 20261 contribution on Jan 24, 20264 contributions on Jan 25, 202614 contributions on Jan 26, 20268 contributions on Jan 27, 202635 contributions on Jan 28, 202690 contributions on Jan 29, 20264 contributions on Jan 30, 2026No contributions on Jan 31, 202622 contributions on Feb 1, 202612 contributions on Feb 2, 202629 contributions on Feb 3, 20262 contributions on Feb 4, 20265 contributions on Feb 5, 20261 contribution on Feb 6, 20261 contribution on Feb 7, 202648 contributions on Feb 8, 2026110 contributions on Feb 9, 202643 contributions on Feb 10, 20264 contributions on Feb 11, 20264 contributions on Feb 12, 2026No contributions on Feb 13, 20262 contributions on Feb 14, 2026No contributions on Feb 15, 2026No contributions on Feb 16, 2026No contributions on Feb 17, 20264 contributions on Feb 18, 20266 contributions on Feb 19, 20267 contributions on Feb 20, 20269 contributions on Feb 21, 202616 contributions on Feb 22, 2026No contributions on Feb 23, 2026No contributions on Feb 24, 2026No contributions on Feb 25, 20262 contributions on Feb 26, 2026No contributions on Feb 27, 2026No contributions on Feb 28, 2026No contributions on Mar 1, 20262 contributions on Mar 2, 2026No contributions on Mar 3, 2026No contributions on Mar 4, 20262 contributions on Mar 5, 2026No contributions on Mar 6, 20266 contributions on Mar 7, 20266 contributions on Mar 8, 2026No contributions on Mar 9, 2026No contributions on Mar 10, 202610 contributions on Mar 11, 2026No contributions on Mar 12, 2026No contributions on Mar 13, 2026No contributions on Mar 14, 2026No contributions on Mar 15, 2026No contributions on Mar 16, 2026No contributions on Mar 17, 2026No contributions on Mar 18, 2026No contributions on Mar 19, 2026No contributions on Mar 20, 2026No contributions on Mar 21, 20262 contributions on Mar 22, 2026No contributions on Mar 23, 2026No contributions on Mar 24, 2026No contributions on Mar 25, 202610 contributions on Mar 26, 2026No contributions on Mar 27, 2026No contributions on Mar 28, 2026No contributions on Mar 29, 2026No contributions on Mar 30, 2026No contributions on Mar 31, 20262 contributions on Apr 1, 2026No contributions on Apr 2, 2026No contributions on Apr 3, 2026No contributions on Apr 4, 20266 contributions on Apr 5, 2026No contributions on Apr 6, 2026No contributions on Apr 7, 2026No contributions on Apr 8, 202656 contributions on Apr 9, 20268 contributions on Apr 10, 2026No contributions on Apr 11, 20261 contribution on Apr 12, 2026No contributions on Apr 13, 2026No contributions on Apr 14, 2026No contributions on Apr 15, 20262 contributions on Apr 16, 2026No contributions on Apr 17, 2026No contributions on Apr 18, 2026No contributions on Apr 19, 2026No contributions on Apr 20, 2026No contributions on Apr 21, 2026No contributions on Apr 22, 2026No contributions on Apr 23, 2026No contributions on Apr 24, 20265 contributions on Apr 25, 2026No contributions on Apr 26, 20265 contributions on Apr 27, 20267 contributions on Apr 28, 2026No contributions on Apr 29, 20261 contribution on Apr 30, 2026No contributions on May 1, 20266 contributions on May 2, 20266 contributions on May 3, 2026No contributions on May 4, 20268 contributions on May 5, 20262 contributions on May 6, 2026No contributions on May 7, 2026No contributions on May 8, 2026No contributions on May 9, 2026No contributions on May 10, 2026No contributions on May 11, 2026No contributions on May 12, 2026No contributions on May 13, 2026No contributions on May 14, 2026No contributions on May 15, 2026No contributions on May 16, 2026No contributions on May 17, 2026No contributions on May 18, 2026No contributions on May 19, 2026No contributions on May 20, 2026No contributions on May 21, 20262 contributions on May 22, 20262 contributions on May 23, 2026No contributions on May 24, 2026No contributions on May 25, 2026No contributions on May 26, 20263 contributions on May 27, 2026No contributions on May 28, 2026No contributions on May 29, 20261 contribution on May 30, 2026No contributions on May 31, 2026No contributions on Jun 1, 2026No contributions on Jun 2, 2026No contributions on Jun 3, 2026No contributions on Jun 4, 2026No contributions on Jun 5, 2026No contributions on Jun 6, 20261 contribution on Jun 7, 20261 contribution on Jun 8, 2026No contributions on Jun 9, 2026No contributions on Jun 10, 2026No contributions on Jun 11, 2026No contributions on Jun 12, 20262 contributions on Jun 13, 20265 contributions on Jun 14, 2026No contributions on Jun 15, 2026No contributions on Jun 16, 2026No contributions on Jun 17, 2026No contributions on Jun 18, 20262 contributions on Jun 19, 20261 contribution on Jun 20, 2026No contributions on Jun 21, 2026No contributions on Jun 22, 2026No contributions on Jun 23, 2026No contributions on Jun 24, 20262 contributions on Jun 25, 2026No contributions on Jun 26, 2026No contributions on Jun 27, 20268 contributions on Jun 28, 2026No contributions on Jun 29, 2026No contributions on Jun 30, 2026No contributions on Jul 1, 2026No contributions on Jul 2, 2026No contributions on Jul 3, 202612 contributions on Jul 4, 202651 contributions on Jul 5, 20261 contribution on Jul 6, 2026No contributions on Jul 7, 20261 contribution on Jul 8, 2026No contributions on Jul 9, 2026101 contributions on Jul 10, 2026164 contributions on Jul 11, 2026No contributions on Jul 12, 202617 contributions on Jul 13, 20261 contribution on Jul 14, 202614 contributions on Jul 15, 202649 contributions on Jul 16, 202620 contributions on Jul 17, 202641 contributions on Jul 18, 202625 contributions on Jul 19, 202625 contributions on Jul 20, 202623 contributions on Jul 21, 202615 contributions on Jul 22, 202621 contributions on Jul 23, 202636 contributions on Jul 24, 202614 contributions on Jul 25, 202614 contributions on Jul 26, 202623 contributions on Jul 27, 202626 contributions on Jul 28, 202615 contributions on Jul 29, 202610 contributions on Jul 30, 202634 contributions on Jul 31, 202610 contributions on Aug 1, 202641 contributions on Aug 2, 202646 contributions on Aug 3, 2026No contributions on Aug 4, 202648 contributions on Aug 5, 202634 contributions on Aug 6, 202625 contributions on Aug 7, 202610 contributions on Aug 8, 202619 contributions on Aug 9, 202620 contributions on Aug 10, 202625 contributions on Aug 11, 2026

Combined activity visible across my personal account and Semper Digital Solutions. Client repositories remain private; these are the public profiles and repositories.

GitHub includes 2,053 anonymized private contributions in the visible calendar. The public-contribution statistic excludes them.