| name | portfolio |
| description | The full repository registry, tech-stack consistency, the quality bar that makes a project portfolio-worthy, and publishing a project to the personal site. Load before starting a new project, choosing a stack, deciding whether something already exists, or presenting work publicly. |
Portfolio
40 repositories on GitHub, 25 cloned under ~/code, plus unversioned work. Samuel works alone
across very different domains, so the two failure modes are duplication (building something that
already exists elsewhere in the portfolio) and divergence (a new framework for the same kind of
product). Read this before either.
⚠️ Open question — presentation is not defined yet
Samuel has not decided how projects are presented in the portfolio section of samuelaure-web,
nor how they should appear on nau-web, nor whether the agency will need its own variant.
Until that is decided, this skill can enforce the quality half (repo standards, documentation) but
not the publishing half. If work touches samuelaure-web's portfolio section, or a project
reaches a state worth showing, raise the question then — that is the moment to design it, and it
should be designed once and applied consistently rather than improvised per project.
Active (last 90 days)
| Repo | Stack | What it is |
|---|
nau | pnpm monorepo · NestJS · Next 14 · Postgres · BullMQ · Remotion | naŭ Platform. 2055 commits. The main system |
nau-mobile | Expo SDK 50 · React Native · SQLite | Instagram capture app. Standalone repo, local-first |
groovy | Grails → NestJS · Docker | API migration lab — strangler pattern over a legacy Grails API |
websites/nau-web | Astro · Express | naŭ marketing site |
websites/karenexplora-web | Vite · Express | Client site |
websites/violetacuesta-web | Vite · TS · Docker | Client site, deployed on the VPS |
websites/samuelaure-web | Vite · TS | Personal site — hosts the portfolio section |
websites/andiuniverso-web | Vite · TS | Client site |
karenexplora-freescout | Docker | Self-hosted helpdesk deployment |
countdown-video | React · Remotion | Programmatic video generation |
nispiras | Kotlin · Android native | Breathing-overlay app. Ships its own keystore — do not regenerate it |
engineering_protocols | Markdown | These protocols. Source of truth for ~/.claude/ |
Dormant
advent-of-code (TS) · obsidian · carrousel-automation (React/Remotion/Tailwind) ·
apify-actors (TS) · web-chatbot-widget (TS, Docker) · math-app (Vite) ·
topic-roulette (Next 16, Tailwind — no remote) · video-generator (NestJS) ·
whatsapp-number-checker (Express) · youtube-downloader (TS — no remote) ·
websites/polar-web (last touched 2025-12)
Deprecated
In ~/code/deprecated/: echonau, komunikadoj, nau-ig, r2-asset-manager.
nau-ig is the ancestor of nau-mobile — the app was extracted, absorbed into the monorepo, then
pulled back out. Do not confuse the three.
On GitHub, not cloned
Pre-consolidation service repos, now inside the nau monorepo: 9nau, flownau, nauthenticity,
whatsnau, zazu. Do not clone these to work on those services — they live in nau/apps/.
(Two of them are also sitting as nested git repos inside nau/tmp/, which is cruft.)
Others not cloned: ai-mentor, astromatic, ecom, exercism, kinder-heldin, ludi9,
project_1, samuel-aure, adventofcodeOLD, nau-storage.
Unversioned — at risk
~/code/no-git/ holds nine directories outside git: build-mobile, chrome-extensions, flownau,
gmb, kkj_db_backups, omniroute, repurpose, scripts, video-bank-script.
One disk failure from gone, and kkj_db_backups appears to be database backups with no backup of
their own. An audit with a per-directory recommendation is approved and pending.
Stack consistency
The portfolio has converged on: TypeScript · React · Vite for sites · Next for apps · NestJS for
services · Postgres + Prisma · Docker · Remotion for video · Tailwind.
When a project has no specific technical requirement, pick from that set. Consistency compounds into
mastery and makes every project cheaper to maintain; a new framework per project compounds into
maintenance nobody has time for.
Known divergence to resolve: six websites, four approaches — karenexplora-web,
samuelaure-web, violetacuesta-web and andiuniverso-web on Vite, nau-web on Astro,
polar-web unknown. These are the same kind of product. Before building a seventh, pick one and
say why; converging the existing six is worth scheduling.
The quality bar
A repository is portfolio-worthy when someone can find it, understand it, and run it without asking
Samuel anything.
- README that earns its length. What it is, why it exists, how to run it, and the one or two
decisions that were actually interesting. Not a tutorial, not a stub. If a reader cannot get it
running from the README alone, it is not finished.
- Working CI where it makes sense. A green badge is evidence; a broken one is worse than none.
- No secrets, ever — and none in history either.
- No agent artifacts.
CLAUDE.md, .claude/, .agent/ are globally gitignored and versioned
in engineering_protocols/projects/<repo>/. A repo advertising its AI tooling reads as
AI-authored to anyone evaluating it. Leaving it out keeps the question open, and the honest answer
— yes, with engineering protocols behind it — lands better coming from Samuel than from a file.
- Honest state. A README claiming production status for something broken costs more credibility
than an unfinished project.
nau-mobile spent months declaring itself deprecated while being the
active repo; that is the failure mode to avoid.
- Documentation neither sparse nor excessive. Docs that describe what the code already says are
maintenance debt; docs that capture the non-obvious decision, the constraint, or the gotcha pay
for themselves. When docs and code disagree, the docs are the bug.
Keeping this current
When a repository is added, removed, renamed, changes stack, or moves between active and dormant,
update this file and the table in global/CLAUDE.md, as part of that work. Then sync to
~/.claude/. A registry that drifts is worse than no registry, because it gets trusted.