Mirror
Portfolios & CVs · mirror.vspera.me
- Purpose
- A portfolio and CV builder that generates a complete design specification for each person, then keeps the content live for any site that wants to read it.
- Who it is for
- Students, researchers, engineers and creatives who need a distinctive public presence and up-to-date CVs without designing them.
- Stack
- Flask · SQLAlchemy · PostgreSQL · Next.js 15 · React 19 · TypeScript · shared design vocabulary
- 97endpoints
- 13test scripts
- 374checks
Features
Generation
- AI-generated design specification per person — palette, typography, layout, texture, motion — rendered by a spec-driven renderer, not a theme picker
- Content analysis and a writing assistant for summaries and project text
- Deterministic engine seeded from the person’s data when no AI is connected — still unique per person
- Style gallery with named looks to start from
Content
- Portfolios with ordered sections and projects
- Rich project pages built from content blocks
- Automatic translation of a whole portfolio into French or Arabic (structure-preserving JSON translation)
- Academic and professional CV generator from the same data
- Media uploads with per-plan limits
Publishing
- Public portfolio API: published content as JSON
- Linked bespoke sites — a separate site on its own domain reads Mirror live and is edited from the Mirror dashboard
- Draft / published states and view counts
Account & business
- Google sign-in; accounts can exist without a password; e-mail verification and e-mail change flow
- Hosts the shared sign-in and the cross-service handoff for every Vespera service
- Plans, subscriptions and entitlements — per service or as a bundle — with payment arranged off-platform
- Admin console: people, plans, subscriptions, media limits, billing mode, mail settings, audit log, platform-wide overview, impersonation for support









