Skip to content

Commit f1a09cb

Browse files
committed
Update blueprint to current state; drop legacy wandercode.typ
1 parent 04f3499 commit f1a09cb

2 files changed

Lines changed: 85 additions & 224 deletions

File tree

docs/blueprint.md

Lines changed: 85 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Complete execution guide for all remaining phases after initial scaffolding.
1010
3. Commit and push.
1111

1212
**CI's job (automated, triggered on every push):**
13-
- Reads `sources/*.md` and `templates/wandercode.typ`
13+
- Reads `sources/*.md` and `templates/nomoreapply.typ`
1414
- Runs Pandoc + Typst to produce all PDFs
1515
- Publishes to GitHub Pages
1616

@@ -29,7 +29,7 @@ sources/*.md (structured Markdown per person) <-- commit & push triggers CI
2929
v
3030
output/*.pdf (team brochure + 3 individual profiles)
3131
|
32-
| [CI: GitHub Actions Pages]
32+
| [CI: GitHub Actions -> Pages]
3333
v
3434
nomoreapply.github.io/services/ (public, always reflects latest push)
3535
```
@@ -38,6 +38,8 @@ nomoreapply.github.io/services/ (public, always reflects latest push)
3838

3939
## Phase 3: Source Markdown Extraction
4040

41+
**Status: in progress** (Cosmin complete, Angel and Catalin have open TODOs)
42+
4143
**Goal:** One well-structured `.md` file per person under `sources/`, extracted from available resources.
4244

4345
### Schema (all files must follow)
@@ -67,185 +69,146 @@ Gaps are marked with `<!-- TODO: source missing -->` so they're visible in diffs
6769

6870
### Per-person extraction guide
6971

70-
**Cosmin Poieana (`sources/cosmin-poieana.md`)**
71-
- Primary: `/Users/cmin/Work/cmin764/cmin764/cv.md` (full Markdown source)
72-
- Supplementary: wandercode.ltd service pages, portfolio GitHub list
73-
- Compress 13 experience entries to 3-5 highlights (Wandercode, VONQ, Sema4AI, Robocorp + acquisition note)
74-
- Anchor the "2B tokens/month" stat - it's concrete and credibility-building
75-
- Role framing: "Fractional AI Product Strategist"
72+
**Cosmin Poieana (`sources/cosmin-poieana.md`)** - complete, 0 TODOs
73+
- Primary: `resources/Cosmin_Poieana-CV-06_04_2026.pdf`
74+
- Supplementary: LinkedIn profile PDF, Discord post
75+
- Remaining to pull: wandercode.ltd service pages, blog (cmin764.medium.com), portfolio starred list
7676

77-
**Catalin Waack (`sources/catalin-waack.md`)**
77+
**Catalin Waack (`sources/catalin-waack.md`)** - 2 TODOs remaining
7878
- Primary: `resources/Catalin_Waack-CV-06_04_2026.pdf`
79-
- Supplementary: LinkedIn profile PDF, contra.com profile
80-
- Frame for AI/consulting positioning (not raw CV listing)
81-
- Include electacar.com and rivoara.com as client/project evidence
82-
- Download contra.com profile and add to resources when available
79+
- Supplementary: LinkedIn profile PDF, Discord post
80+
- Remaining to pull: contra.com profile, catalinwaack.com, electacar.com, rivoara.com
8381

84-
**Angel Aytov (`sources/angel-aytov.md`)**
85-
- Primary: `resources/Angel_Aytov-profile-06_04_2026.pdf` (LinkedIn only)
86-
- CV not yet available - mark all gaps with TODO comments
87-
- Use roles of interest as positioning signal: AI Automation Architect, Principal Engineer, MLOps Engineer, Data Engineer, AWS Architect
88-
- Location: Dublin, Ireland (remote/hybrid)
82+
**Angel Aytov (`sources/angel-aytov.md`)** - 4 TODOs remaining
83+
- Primary: `resources/Angel_Aytov-profile-06_04_2026.pdf` (LinkedIn only - no CV yet)
84+
- Supplementary: Discord post
85+
- CV not yet available - all gaps marked with TODO comments
86+
- Role targets: AI Automation Architect, Principal Engineer, MLOps Engineer, Data Engineer, AWS Architect
87+
- Location: Dublin, Ireland
8988

9089
### Team master file (`sources/team.md`)
9190

92-
Contains team-level front matter and a brief intro paragraph. The build script populates the member section from individual files.
93-
94-
```yaml
95-
---
96-
documenttype: team
97-
team_name: "NoMoreApply"
98-
team_tagline: "Trusted engineers. Direct introductions."
99-
team_description: >
100-
A vetted collective of senior engineers available for fractional and contract
101-
engagements. We embed inside your team - shared Slack, shared GitHub, shared
102-
standups. Not a vendor on the outside.
103-
cta: "Reach out via nomoreapply.com"
104-
---
105-
```
91+
Contains team-level front matter and intro paragraph. `scripts/assemble-team.sh` injects Summary + Expertise from each individual file before the team PDF is built.
10692

10793
---
10894

10995
## Phase 4: Typst Template
11096

111-
**File:** `templates/wandercode.typ`
97+
**Status: complete**
11298

113-
Switched from XeLaTeX to Typst (see `docs/audit-trail.md`). Compiles in seconds vs. minutes.
99+
**File:** `templates/nomoreapply.typ` (note: `wandercode.typ` is a legacy leftover, unused)
114100

115-
### Design spec (Wandercode aesthetic)
101+
### Design tokens (NMA brand)
116102

117103
| Element | Value |
118104
|---------|-------|
119105
| Paper | A4 |
120-
| Margins | 25mm L/R, 20mm top, 25mm bottom |
121-
| Background | `#F5F4EF` (cream) |
122-
| Body text | `#1A1A2E` (near-black) |
123-
| Accent | `#2A6F6F` (teal) - rules, dividers, links only |
124-
| Font | Inter (files in `templates/fonts/`, loaded via Typst `font` setting) |
125-
| Body size | 10.5pt |
126-
| Line leading | 0.8em |
127-
| H1 (name) | 22pt Inter Bold |
128-
| H2 (sections) | 9pt Inter SemiBold, uppercase, wide tracking, teal rule below |
129-
| Footer | Entity name + URL only |
106+
| Background | `#FAFAFA` (off-white) |
107+
| Body text | `#09090B` (near-black) |
108+
| Accent | `#DC143C` (NMA crimson - role lines, team taglines only) |
109+
| Secondary | `#71717A` (muted grey) |
110+
| Dividers | `#E4E4E7` (light grey rules and card borders) |
111+
| Font | Inter, weights 400/600/700 |
112+
| Name | 26pt bold, tracking -0.02em |
113+
| Section headings | 7.5pt bold uppercase, tracking 0.1em, grey rule |
130114

131115
### Template modes
132116

133-
Controlled by `$documenttype$` Pandoc variable:
117+
Controlled by Pandoc `--variable` flags:
134118

135-
**`individual`** (default)
136-
- Name as large bold heading, role + tagline as subtitle block
119+
**`individual:true`** (default for profile PDFs)
120+
- Name as large bold heading, role + tagline as subtitle
137121
- Contact line (location, email, LinkedIn, GitHub, website)
138-
- Teal rule separator, then all 5 body sections
122+
- All 5 body sections
139123

140-
**`team`**
141-
- Centered team name + tagline at top
124+
**`team:true`** (for team brochure)
125+
- Centered team name + tagline
142126
- Team description paragraph
143-
- Member cards via `accentcard` environment (teal left-border)
127+
- Member cards assembled from individual Summary + Expertise sections
144128
- CTA footer
145129

146130
### Toolchain
147131

148132
```sh
149-
pandoc --pdf-engine=typst --template=templates/wandercode.typ sources/person.md -o output/person.pdf
133+
# Individual profile
134+
pandoc --pdf-engine=typst --pdf-engine-opt=--font-path=templates/fonts \
135+
--template=templates/nomoreapply.typ --variable=individual:true \
136+
sources/person.md -o output/person-profile.pdf
137+
138+
# Team brochure (assemble first)
139+
bash scripts/assemble-team.sh output/_team-assembled.md sources/team.md sources/*.md
140+
pandoc --pdf-engine=typst --pdf-engine-opt=--font-path=templates/fonts \
141+
--template=templates/nomoreapply.typ --variable=team:true \
142+
output/_team-assembled.md -o output/team-brochure.pdf
150143
```
151144

152-
Inter `.ttf` files in `templates/fonts/` are used by Typst directly (no fontspec/TeX needed).
145+
Inter `.ttf` files in `templates/fonts/` are loaded directly by Typst (no TeX needed).
153146

154147
---
155148

156149
## Phase 5: Build System
157150

158-
**File:** `Makefile` at repo root.
159-
160-
```makefile
161-
PANDOC = pandoc
162-
ENGINE = --pdf-engine=typst
163-
TEMPLATE = --template=templates/wandercode.typ
164-
COMMON = $(ENGINE) $(TEMPLATE)
165-
166-
INDIVIDUAL_SRCS = sources/angel-aytov.md sources/catalin-waack.md sources/cosmin-poieana.md
167-
INDIVIDUALS = $(patsubst sources/%.md,output/%.pdf,$(INDIVIDUAL_SRCS))
168-
TEAM = output/team-brochure.pdf
169-
170-
all: $(TEAM) $(INDIVIDUALS)
171-
172-
output/%.pdf: sources/%.md templates/wandercode.typ | output
173-
$(PANDOC) $< -o $@ $(COMMON)
174-
175-
output/team-brochure.pdf: sources/team.md $(INDIVIDUAL_SRCS) templates/wandercode.typ | output
176-
bash scripts/assemble-team.sh
177-
$(PANDOC) output/team-assembled.md -o $@ $(COMMON)
151+
**Status: complete**
178152

179-
output:
180-
mkdir -p output
181-
182-
clean:
183-
rm -rf output/
184-
185-
.PHONY: all clean
186-
```
187-
188-
**`scripts/assemble-team.sh`** - reads `sources/team.md` as header, then extracts `## Summary` and `## Expertise` blocks from each individual file, assembles into `output/team-assembled.md`.
189-
190-
**Local test command:**
191-
```sh
192-
make all # requires pandoc + typst installed locally
193-
```
153+
- `Makefile` at repo root: `make all` builds all PDFs, `make clean` removes `output/`
154+
- `scripts/assemble-team.sh`: assembles team brochure markdown from individual sources
155+
- Local build: `make all` (requires `pandoc` and `typst` installed natively)
194156

195157
---
196158

197159
## Phase 6: CI Workflow
198160

161+
**Status: complete**
162+
199163
**File:** `.github/workflows/build-pdfs.yml`
200164

201-
Triggers:
202-
- Push to `main` touching `sources/`, `templates/`, `scripts/`, `Makefile`, or the workflow file
203-
- `workflow_dispatch` (manual)
165+
Triggers on push to `main` touching `sources/`, `templates/`, `scripts/`, `site/`, `Makefile`, or the workflow file. Also supports `workflow_dispatch`.
204166

205-
Jobs:
206-
1. **build**: checkout → install `pandoc` + `typst` (or use `pandoc/extra` container) → `make all` → assemble `_site/` with PDFs + `index.html` → upload Pages artifact
207-
2. **deploy**: `actions/deploy-pages@v4` → publishes to `nomoreapply.github.io/services/`
167+
Tool versions pinned:
168+
- Pandoc: 3.9.0.2
169+
- Typst: 0.14.2
170+
- actions/checkout: v6.0.2
171+
- actions/cache: v5.0.4
172+
- actions/upload-pages-artifact: v4.0.0
173+
- actions/deploy-pages: v5.0.0
208174

209-
**Prerequisites (manual, one-time):**
210-
- Enable GitHub Pages on `NoMoreApply/services` repo
211-
- Set source to "GitHub Actions" (not a branch)
212-
- Requires org admin
175+
Site index (`site/index.html`) is copied into `_site/` alongside the PDFs on every build.
176+
177+
**Prerequisites (done):**
178+
- GitHub Pages enabled on `NoMoreApply/services` (source: GitHub Actions)
179+
- Repo is public (Pages requires public repo on free plan)
213180

214181
---
215182

216183
## Phase 7: README.md
217184

218-
Root-level `README.md` with:
219-
- One-line project description
220-
- Mermaid pipeline diagram (resources → sources → PDFs → Pages)
221-
- Quick start (local build with Docker)
222-
- Links to live PDFs
223-
- Team member list (alphabetical)
224-
- Link to this blueprint
185+
**Status: complete**
186+
187+
Root-level `README.md` with Mermaid pipeline diagram, member list, and link to live PDFs at `nomoreapply.github.io/services/`.
225188

226189
---
227190

228191
## TODO Checklist
229192

230193
### Blockers
231-
- [ ] Enable GitHub Pages on NoMoreApply/services (org admin: Cosmin)
232-
- [x] Source Inter font files `templates/fonts/`
194+
- [x] Enable GitHub Pages on NoMoreApply/services
195+
- [x] Source Inter font files -> `templates/fonts/`
233196
- [ ] Angel Aytov CV (missing - high priority)
234197

235198
### Content
236-
- [ ] Extract `sources/cosmin-poieana.md` from cv.md + wandercode.ltd
237-
- [ ] Extract `sources/catalin-waack.md` from CV PDF + LinkedIn
238-
- [ ] Extract `sources/angel-aytov.md` from LinkedIn PDF (sparse, mark gaps)
239-
- [ ] Download Catalin's contra.com profile `resources/`
240-
- [ ] Download Catalin's catalinwaack.com content `resources/`
241-
- [ ] Download wandercode.ltd pages for Cosmin `resources/`
199+
- [x] Extract `sources/cosmin-poieana.md`
200+
- [ ] Extract `sources/catalin-waack.md` fully (2 TODOs remaining)
201+
- [ ] Extract `sources/angel-aytov.md` fully (4 TODOs, blocked on CV)
202+
- [ ] Download Catalin's contra.com profile -> `resources/`
203+
- [ ] Download Catalin's catalinwaack.com content -> `resources/`
204+
- [ ] Download wandercode.ltd pages for Cosmin -> `resources/`
242205

243206
### Build
244-
- [x] Write Typst template `templates/wandercode.typ`
245-
- [x] Write `scripts/assemble-team.sh`
246-
- [x] Write `Makefile`
247-
- [ ] Test locally (pandoc + typst installing via brew)
248-
- [ ] Write CI workflow
249-
- [ ] Write `README.md`
250-
- [ ] Verify PDFs render correctly (cream bg, Inter font, all sections)
251-
- [ ] Verify Pages deployment URL works
207+
- [x] Write Typst template `templates/nomoreapply.typ`
208+
- [x] Write `scripts/assemble-team.sh`
209+
- [x] Write `Makefile`
210+
- [x] Write CI workflow `.github/workflows/build-pdfs.yml`
211+
- [x] Write `README.md`
212+
- [x] Test locally (pandoc + typst)
213+
- [x] Verify PDFs render correctly
214+
- [x] Verify Pages deployment URL works (`nomoreapply.github.io/services/`)

templates/wandercode.typ

Lines changed: 0 additions & 102 deletions
This file was deleted.

0 commit comments

Comments
 (0)