Logo Lanfrica

codemathics/thecraftcommons

Domain:

digital infrastructure

Record type:

project
Creator:
cod
Host:
a collective fund and community that gets african makers, designers, design engineers and creators the tools, mentorship, and a reason to ship, so they join the ai era with craft, network and global opportunities. # the craft c()mmons CC is a fund for African designers, makers, engineers, and creators — cohort members get AI tools, a mentor, and a reason to finish and share their work. Vite + React 18 + TypeScript, plain CSS, GSAP. No router yet (view switch in `App.tsx`). One custom font: OT Jubilee (`public/OTJubilee-Golden.woff`). ## Structure - `src/App.tsx` — view switch: home ↔ apply form - `src/components/Preloader.tsx` — the `()` wordmark: expands into a 0–100 counter, collapses, docks bottom-centre and becomes the permanent brand mark / home button. Runs once per session (`sessionStorage`); `#loader` hash forces a replay, `#slow` runs it at quarter speed. - `src/components/PatternField.tsx` — hero canvas: the brand mark tiled in a mirrored kaleidoscope quilt, dissolving downward (ref: Jancsó Áron's "Blend Experiment" poster). Cursor inflates glyphs on desktop; a gentle ripple loops on touch devices. CTA hover fires a rainbow pulse (`cc-wave-on` window event), masked to the pattern's silhouette. - `src/components/PatternBand.tsx` — the same pattern compressed into the form's header band; doubles as the progress indicator (assembles left-to-right via the `progress` prop). `cc-band-wave` event fires a horizontal rainbow pulse (used on submit). - `src/components/ApplyForm.tsx` — progressive application form (one question per step). Branching: Figma Education step only shows when Figma is in the applicant's tools; tool groups filter by what they make. Drafts and step position autosave to localStorage. - `src/lib/mark.ts` — shared glyph geometry + palette + rainbow hues. ## Porting notes (backend) - **Submit is a stub**: `submit()` in `ApplyForm.tsx` logs the draft and fakes a delay. Replace with the real endpoint. The draft shape is the `Draft` interface at the top of the file. - `figmaEdu` is conditional — absent means "doesn't use Figma", which is itself the Figma-seat answer. Treat as nullable. - Country is free text with suggestions — normalize server-side. - Wh …