MANNI turn complicated systems into useful, characterful software. Starting Manny’s studio
Text portfolio

Manny — product, design & engineering

I turn complicated systems into useful, characterful software.

I design, build, deliver, and operate products end to end — from community-scale worlds to practical platforms and playful tools.

Useful, characterful software · products, platforms, tools, and communities

I'm open to new projects and collaborations.

[email protected]

join the server on Discord

3projects

Products

Products
Preview unavailable Project record remains available below. BorderSmart mobile app mockups showing lane status and wait planning screens.
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.
  • Settings demonstrate primary-lane preferences, notification controls, quiet hours, GPS assistance, and English/Spanish selection.
  • Expo
  • Fastify
  • Next.js
  • Postgres
  • TypeScript
Products
Preview unavailable Project record remains available below. GreenCardGuide homepage with a hero headline, intro, and pathway/checklist call-to-action buttons.
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.

  • Java
  • Kotlin
  • http4k
  • Jetty
  • TTS

2projects

Platforms

live

BandHub

Platforms
Preview unavailable Project record remains available below. MZ Tribute Bands homepage running as a branded BandHub tenant.
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.
  • Next.js
  • React
  • PostgreSQL
  • Drizzle
  • Multi-tenant
Platforms
Preview unavailable Project record remains available below. Sanitized DupliCat sample showing a HubSpot record clone completed with links to the source and copied record.
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.
  • HubSpot
  • Astro
  • TypeScript
  • OAuth
  • Cloudflare Workers

1project

Developer tools

live

RepoGarden

Developer tools
Preview unavailable Project record remains available below. RepoGarden terminal habitat preview showing local repositories as a pixel garden.
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.

  • TypeScript
  • React
  • Ink
  • CLI

3projects

Worlds

archived

NovaRO

Worlds
Preview unavailable Project record remains available below. A recreated, non-operational snapshot of the NovaRO homepage with an "archived" notice across the bottom.
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.
  • Ragnarok Online
  • Game Server
  • Web Platform
  • Community
Worlds
Preview unavailable Project record remains available below. Force-directed relationship graph of the campaign with ~170 colour-coded character, faction, and location nodes.
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.
  • Python
  • Campaign Memory
  • Search
  • Data Viz
Worlds

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 unavailable Project record remains available below. MZ Tribute Bands homepage with a featured promo hero, watch-live panel, and top acts.
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.

  • Web
  • Branding