Preview unavailableProject record remains available below.
Public app hero
Border-wait and travel planning turned into a clear digital workflow.
Product engineering · 2026
A border-wait planning product for northbound San Ysidro and Otay Mesa crossings. The public material currently covers the mobile planning experience; service and operator surfaces remain private.
Approved public screenshots and App Store and Google Play links are available.
Read case study brief · what i owned · key decisions · what was delivered · evidence · implementation
The problem
Border waits are not one number: travelers choose between crossings and lane types while the signal changes. Existing status checks make that comparison difficult to understand and harder to act on.
What I owned
Product engineering for the mobile workflows shown here: saved lanes, crossing and lane comparison, target alerts, crossing start, and commuter preferences.
Key decisions
Compare every supported crossing and lane in one board instead of making travelers inspect them separately.
Expose a likely range, confidence, freshness, and trend alongside the estimate rather than presenting a naked wait number.
Turn monitoring into an actionable workflow through saved lanes, target alerts, crossing start, quiet hours, and optional GPS assistance.
What was delivered
Presents planning guidance alongside a likely range, confidence, freshness, and trend.
Combines saved-lane status, six-way lane comparison, target alerts, crossing start, quiet hours, GPS assistance, and language preferences.
Evidence
Approved public product captures show the My Lane, lane-comparison Board, Alerts, and Settings workflows.
The Board visibly compares General, Ready, and SENTRI lanes at both supported crossings and identifies the fastest current option.
Preview unavailableProject record remains available below.
Guide home
A clearer path through green-card planning.
Product architecture and full-stack engineering · 2026
A bilingual, source-backed informational guide to U.S. green card pathways, with pathway browsing, checklist flows, official-source tracking, admin review tools, and freshness operations.
Informational only, not legal advice; users should verify decisions against official sources.
Read case study brief · what i owned · key decisions · what was delivered · evidence · result · implementation
The problem
Permanent-residency information is spread across pathway families, forms, evidence requirements, and changing official guidance. A useful guide must make the next step understandable without pretending to replace legal advice.
What I owned
Product architecture, full-stack engineering, structured content system, public information design, and freshness workflow.
Key decisions
Organize the product around pathway exploration and question-led process guides instead of one universal eligibility quiz.
Keep source traceability and review/freshness operations inside the product rather than treating content as static marketing copy.
State the informational boundary prominently and route consequential decisions back to official sources.
What was delivered
Covers all 48 immigrant-visa pathways with English and Spanish routing and 48 pathway detail pages.
Includes checklist support for 17 supported combinations, printable results, document library, FAQ, glossary, public feedback, and admin surfaces.
Built with Next.js App Router, React, TypeScript, OpenNext Cloudflare Workers, Cloudflare KV, Vitest, and Wrangler.
Evidence
The live bilingual site exposes pathway exploration, process guides, document-library routing, glossary/FAQ support, and printable checklist flows.
Approved captures show the home, pathway explorer, document library, and process-guide entry surfaces.
Result
Large structured immigration-information product with deterministic checklist rules and official-source traceability.
Deploy workflow includes launch validation and a separate freshness worker.
Next.js
React
Cloudflare Workers
KV
TypeScript
private
audiobook-workbench
Products
Books in, chaptered audiobooks out — a text-to-speech workbench.
Application engineering · 2026
A local-first audiobook workbench, deployed as Miri Reader, for importing long text sources, chunking them for TTS, previewing voices, retrying failed generation, and exporting chaptered audiobook output.
Live deployment currently routes through login; public links and media are held until the safest visitor-facing target is reconciled.
Preview unavailableProject record remains available below.
BandHub deployment · MZ home
One booking platform powering multiple live band brands.
Product architecture and full-stack engineering · 2026
A multi-tenant booking platform for tribute and cover-band discovery, buyer intake, owner workflows, moderation, reviews, inquiries, content operations, analytics, imports, and billing readiness.
Deployments: MZTributeBands
The live tenants are the public reference; the BandHub source repository remains private.
Read case study brief · what i owned · key decisions · what was delivered · evidence · result · implementation
The problem
The work began when a working band business needed its aging backend and public sites replaced. The replacement had to preserve distinct brands without duplicating catalog, funnel, and operations work for every storefront.
What I owned
Product architecture and full-stack engineering across the shared storefront, catalog, booking funnel, owner tools, administration, imports, and deployment operations.
Key decisions
Resolve tenants by hostname into database-backed brand, content, and feature configuration instead of forking the application.
Separate act identity from storefront placement through shared catalog memberships.
Turn tenant rollouts into a manifest-driven validate, apply, seed, and verify workflow.
Keep funnel, storefront, catalog, owner SaaS, and internal operations as explicit lanes inside one deployable application and database.
What was delivered
One Next.js App Router codebase serves multiple public band-booking tenants through site configuration and hostname resolution.
Includes public directories and profiles, shortlist-aware request flows, submit-act moderation, owner dashboard, admin operations, audit trail, and import tooling.
Uses PostgreSQL, Drizzle ORM, first-party magic-link auth, Resend email, Cloudflare Turnstile, local media storage/proxy, and optional Stripe billing.
Evidence
The MZ Tribute Bands production domain visibly runs as a differentiated BandHub storefront on the shared platform.
Approved MZ captures demonstrate homepage composition, search and filtering, branded collections, profiles, EPK downloads, and booking inquiry surfaces.
The project record documents repeatable import and tenant-rollout paths for legacy catalogs, packages, posts, and reviews.
Result
One operated application now serves multiple differentiated public booking brands.
Preview unavailableProject record remains available below.
DupliCat sample workflow
Three focused HubSpot apps, built past the interface.
Studio/product platform · 2026
A public HubSpot product suite: DupliCat for repeatable record cloning, PressKit for Company-based press-kit publishing, and TabCalendar for year-view availability planning.
The public site, app pages, documentation, pricing, trust, and direct-install surfaces are live. HubSpot Marketplace release status remains pending the planned release; PressKit and TabCalendar are currently described as controlled access.
Read case study brief · key decisions · what was delivered · evidence · implementation
The problem
HubSpot teams still rely on manual workarounds for several repeatable operational jobs, while adopting a third-party app also requires confidence in permissions, limits, support, pricing, and long-term operation.
Key decisions
Keep the three workflow gaps as separate products with independent installs, scopes, pricing, and rollout paths.
Publish setup, permissions, limitations, changelogs, and trust material before asking a team to install.
Describe DupliCat as generally available while keeping PressKit and TabCalendar in an explicit controlled-access production posture.
What was delivered
DupliCat standardizes repeatable HubSpot record cloning through templates, defaults, associations, activity handling, and workflow actions.
PressKit keeps one Company-based electronic press kit current behind a stable public URL.
TabCalendar exposes sold, held, and unavailable windows across a full year from Company and Deal records.
The suite publishes app-specific setup, scopes, limitations, pricing, changelogs, support, security, privacy, DPA, subprocessor, status, and uptime surfaces.
Evidence
The public CleverCat catalog presents three production apps with distinct install and documentation paths.
Sanitized public captures show the DupliCat record card, PressKit editor/public profile, and TabCalendar year/day views.
The public app matrix distinguishes DupliCat as GA and PressKit/TabCalendar as production with controlled access.
Preview unavailableProject record remains available below.
Public RepoGarden preview
A little local habitat where your repos live.
Product, design, and engineering · 2026
A local-first terminal app that turns the repositories on a machine into a deterministic pixel habitat, with rooms, journal entries, repo notes, recent commits, and optional GitHub discovery.
Public source, the verified npm 0.9.4 package, and preview media are linked.
Preview unavailableProject record remains available below.
Archived homepage
A live MMO community and product ecosystem, preserved after its 2023 shutdown.
Engineering and operations · 2014–2023
A long-running Renewal MMO service with continuous game releases and a substantial product ecosystem around accounts, economy, competition, documentation, community, and support. The linked archive preserves its January 2023 public homepage.
Discontinued in 2023 and no longer operational. The linked page is a preserved, non-interactive homepage reconstruction with all logins and service links disabled.
Read case study brief · what i owned · key decisions · what was delivered · evidence · result · implementation
The problem
Keeping a live game community running required more than a game process: players needed releases, accounts, an economy, rankings, documentation, communication, and dependable support operations around the world itself.
What I owned
Engineering and operations across the live service and its surrounding web product over nearly nine years; this wording does not imply that the wider game, content, or community work was a solo effort.
Key decisions
Treat the service as a world plus its operating surfaces—accounts, economy, rankings, documentation, communication, releases, and support—not as a server process alone.
Preserve the final public homepage as a deliberately non-operational archive with authentication and service routes disabled.
Retain the reported January 2023 online count as a dated homepage record while explicitly declining to invent semantics the surviving archive cannot support.
What was delivered
A customized Renewal game service with custom content, utilities, events, and a sustained public release cadence.
A surrounding web product spanning accounts, market and vending, rankings, WoE statistics, wiki, store, community, and support destinations.
A deliberately non-operational archive with logins and outbound service links disabled.
Evidence
Historical opening and shutdown records place the service from October 2014 to July 2023—nearly nine years of operation.
The preserved January 2023 homepage reported 3,425 players online; the exact counter semantics are not retained.
The archive shows patch notes through #192 and a continuous late-life update history.
Result
Operated for nearly nine years before its planned 2023 shutdown.
Preview unavailableProject record remains available below.
Relationship graph
A searchable campaign-memory engine for a long-running tabletop game.
Product and tooling · 2026
A campaign-memory engine for a long-running Pathfinder campaign: it ingests session logs and exposes them as a force-directed relationship graph, a "catch-up" recap generator, a filterable timeline, a stats dashboard, an open-loop thread board, and full-text search.
Deployments: DungeonNotes
A personal, non-commercial fan tool for a published Pathfinder adventure (an independent Paizo product). The public showcase features only the tool's own interface and data; the adventure's copyrighted art and maps are kept off it. The in-app campaign Q&A stays password-gated.
Read case study brief · what i owned · key decisions · what was delivered · evidence · result · implementation
The problem
After dozens of sessions, returning players need more than chronological notes: they need to recover relationships, unresolved threads, recent context, and the source behind an answer without exposing the private capture corpus.
What I owned
Product design and tooling for the public campaign-memory interface, with DungeonNotes retained as its private capture artifact.
Key decisions
Model people, places, factions, sessions, and open threads as connected memory instead of a single recap document.
Keep citations and searchable session context close to generated recaps so the tool can show where an answer came from.
Separate the public interface and redacted data from private transcripts, table audio, player-only context, and licensed adventure art.
What was delivered
Force-directed relationship graph of ~170 PCs, NPCs, factions, and locations.
Personalised "catch-up" recaps, a per-session timeline, and an open-loop board for unresolved threads.
A "campaign wrapped" stats dashboard with cited, searchable session memory.
Evidence
The live public surface exposes the relationship graph, catch-up workflow, timeline, wrapped statistics, open-loop board, and search without requiring access to private capture material.
Four approved interface captures document the graph, timeline, wrapped, and unresolved-thread workflows.
Result
Turns a 60-plus-session campaign into a browsable memory surface while keeping the underlying capture and sensitive table context private.
A private-first MMORPG interface and world-site teaser.
Interface design and engineering · 2026
A standalone React design-system playground for an MMORPG interface, exploring compact windows, draggable/resizable panels, hotbars, chat, density and scale controls, fixture scenes, deep-link state, and accessibility checks.
Teaser only. Public copy should avoid private game-history references and unreleased-world specifics.
React
Vite
Storybook
Zustand
Tailwind
4projects
Client work
live
MZTributeBands
Client work
Preview unavailableProject record remains available below.
Booking home
The flagship BandHub deployment, live for a working band group.
Tenant rollout and platform integration · 2026
The flagship BandHub tenant for a California tribute-band and talent-booking agency, with public discovery, act profiles, buyer-intent pages, request funnels, legacy URL handling, and structured SEO.
The production domain is the canonical public reference.
BandHub
Next.js
SEO
Booking Funnels
details pending
EntreNos
Client work
A bilingual web presence for a relationship-centered brand.
Client web work
A bilingual, relationship-centered client site reserved for a case-study pass once source files, public URL, and approved copy are confirmed.
Text-only portfolio entry. Links, visuals, and stronger claims are held until project materials are verified.
Web
Branding
details pending
FMproduction
Client work
Production-focused web work for a music and media brand.
Client web work
A music and media brand site reserved for a focused case-study pass once the current client source and public URL are verified.
Text-only portfolio entry. Links, visuals, and stronger claims are held until the source project and public URL are verified.
Web
Branding
details pending
luciabespoke
Client work
A bespoke client site for a crafted personal brand.
Client web work
A boutique personal-brand site entry held for a later content pass focused on visuals, inquiry flow, and approved client copy.
Text-only portfolio entry. Links, visuals, and stronger claims are held until project materials are verified.