41 KiB
Active Context - 2RE03 Portfolio Site
Current focus, recent changes, next steps, and active decisions. Last updated: 2026-10-01.
Working Agreements (read first)
- Do not edit files outside the project folder. Every write (create, edit, move, delete) stays under the workspace root. Reading files elsewhere is allowed. If a task looks like it needs a write outside that folder, STOP and ask the user first, naming the path and the reason.
- Never
git commitorgit pushwithout explicit approval. Do the work, verify it, then STOP and ask. Approval covers that one action only; every future commit and push needs its own yes. - Until approval, leave finished work in the working tree as uncommitted changes, and say plainly what is sitting there waiting.
Current Work Focus
Everything to date is live, and the sales funnel is now in planning. A working static site on a locally vendored Bootstrap 5.3.3, with custom CSS/JS and a live Web3Forms contact page, a Collins-inspired Case Studies feature (typographic index + 10 detail pages), the first copy pass out of memory-bank/todo.md (homepage closing CTA, a Workflow band on services.html, the work-page hook), the favicon and social card, and captions on all 26 work.html gallery figures - re-worded on 2026-09-22 to the scope the user confirmed, which also moved the Urban Moto earplug article and the YLEM Journal cover into the Words gallery. All of it shipped in 8a7c3ea and was verified live. The live work is therefore done; what is in progress is the sales-funnel redesign, now planned in memory-bank/sales-funnel-plan.md. The offer blocker is cleared: the user answered the offer sheet on 2026-10-01 (name, promise, inclusions, duration, price band, what the client supplies, revision rounds, ownership, the paid diagnostic, the floor, the after-the-form flow and one outcome line per case study) and memory-bank/offer-draft.md has been reconciled against those answers, so the funnel copy can now be drafted and then built. The last offer-sheet question was answered on 2026-10-01: deposits and milestones are both stated (item 9), so nothing about the commercial terms is left open. Still open around it: user sign-off on the live copy, confirmation of the caption names read off the artwork, and captions for the case-study grids. The published-proof question (offer-sheet item 5) was settled on 2026-10-01 as none yet: no client has agreed to a name, quote, logo or identifiable number, so the proof stage ships as named case studies plus the transformation outcome lines only, adding nothing new client-attributable. The services.html red pen came back on 2026-10-01 and is applied: the web-craft paragraph was cut from the offer block (the meta rewrite stayed), and contact.html's free-text subject field is now a required topic dropdown whose selection is the email subject line. index.html is the next page to build; contact.html's Block D is unblocked (the payment terms are settled) and there is no scheduling link: a written enquiry is enough, the form is the only path, and the site publishes no email address.
Recent Changes
-
2026-10-01 - Five funnel answers closed the offer, dropped the scheduling link, and removed a promise the site could not keep. The user answered: (1) deposits and milestones are both stated (offer-sheet item 9, the last open offer question), so the commercial terms can be written and
contact.html's Block D is unblocked; (2) the secondary path is not a booking link (a written enquiry is enough), so the scheduling link is dropped fromoffer-draft.md,sales-funnel-plan.mdandtodo.md, and the form'sBook a Project Clarity Sessionoption is the booking path instead (services.html'sBook a Clarity Sessionbutton already pointed atcontact.html, so nothing needed rewiring); (3) Umami will be self-hosted, which the user is setting up, so the snippet and the conversion event stay pending rather than dropped; (4) the topic dropdown's options and phrasing are approved as built; and (5) no email address is published - "just make it contact us directly and use the form" - which changed one production line, becausejs/main.js's submit-failure fallback offered to "email us directly" when the site has no address to offer. It now reads "Something went wrong and your message did not send. Please try again in a moment." That is the only string changed, andjs/main.jsparses clean under gjs (SpiderMonkey). Note for the harness:nodeis not installed on this machine, so thenode --checkwording in older entries no longer applies; seetechContext.md-> Tool Usage Patterns for the gjs substitute. Still deferred by the user for a later session: proof permissions, case-study name confirmations, images (Urban Moto hero, grid captions, logo, IKEHU video, homepage proof-strip photos) and outcome numbers. Also new this session: a tested screenshot harness at.shots/shoot.shplus.shots/trim.py, living in the untracked.shots/scratch folder and documented intechContext.md. Uncommitted. -
2026-10-01 - The
services.htmlred pen came back, both edits landed, and the contact form's subject field became a routing dropdown. Three answers and two production changes: (1) the web-craft paragraph was cut from the offer block rather than kept folded in, so the offer column now runs eyebrow -> h2 -> promise -> three fact pills ->Start a project/Not ready for a project?; (2) the meta andog:descriptionrewrite stayed as drafted; and (3)contact.html's free-textSubject (optional)input became a required<select name="subject">labelled "What do you want to talk about?", whose selected value becomes the Web3Forms email subject line. The seven options areBook a Project Clarity Session,Start a website project,Logo or brand identity,Print design,3D modeling,Writing, copy, or editingandSomething else, behind a disabledChoose oneplaceholder, with aninvalid-feedbackline matching the other required fields. This needed no JavaScript change:js/main.jsalready postsnew FormData(form), and per the Web3Forms docs ("Email Subject line") the field must bename="subject"and may be user-filled rather than a hidden input, so a<select>qualifies. Two consequences to keep in view: the topic is consumed as the subject line, so if it should also appear in the message body a second (duplicated) field would be needed, and the field is now required, which is a small friction the user did not explicitly ask for and can be reverted by droppingrequired. Verified: tag balance clean across all 16 pages, every reference resolves, no em/en dashes or curly quotes in our files, and headless-Firefox screenshots ofcontact.htmlat 1280px and 390px plusservices.htmlat 1280px.services.html,contact.htmlandcss/style.cssare uncommitted. -
2026-10-01 -
services.htmlwas rebuilt around the offer, the first funnel page to ship, and is waiting on the user's red pen. Funnel Blocks A and B landed: the "Web Design" section became The 2RE03 Website Launch (the promise, the six inclusions, three fact pills, what you supply, what you own,Start a projectplusNot ready for a project?), and The Project Clarity Session sits below it as a dark card ($250, 60 to 90 minutes,Book a Clarity Session, credited in full within 30 days). The web-craft detail (hand-coding, WordPress, hosting, domain, maintenance) was folded into the offer's supporting paragraph rather than dropped, the capability grid stayed as "Also on the bench", the Process, Workflow and closing CTA bands were left alone, and the meta andog:descriptionnow name the offer and the price band. New CSS incss/style.css:.pill,.pill--ink,.offer-terms,.eyebrow-cream. Verified the same way as the caption passes: tag balance clean, no em dashes in our files, every reference resolves across the 16 pages, and full-page screenshots at 1280px and 390px.index.html,contact.html, the case-study outcome lines,thank-you.html, the scheduling link and the Umami snippet are all untouched;services.htmlandcss/style.cssare uncommitted. -
2026-10-01 - The last proof question was settled as
none yet, which makes the proof stage buildable without inventing anything. Asked whether any client had agreed to be named, quoted, shown or given a logo, the user answered not yet. The permission rule therefore stands (ask first, publish nothing client-attributable without a yes), and no testimonial, client logo, metric or new identifiable detail goes on any page; the proof stage ships as the named case studies plus the transformation outcome lines only, and the client names the case studies already publish simply stay. A clearance can be added later if one arrives. This leaves deposits/milestones (offer-sheet item 9) as the only open question before the offer copy ships. No production file was touched; the edits stay in the memory bank. -
2026-10-01 - The offer sheet was answered and the offer draft reconciled, so the funnel is unblocked. The user answered all nine offer-sheet questions in
memory-bank/sales-funnel-plan.mdand the follow-up decisions in the same exchange: the secondary low-commitment path is a scheduling link alongside the form; the reply voice is team voice ("we"), not a named individual; the reply-time promise stays as the live copy has it; there are no industries or project types to turn down; all pages must stay consistent with one another; and Umami analytics is being set up by the user and will be added later. The settled offer is The 2RE03 Website Launch ("We build distinctive websites that make your business easier to understand, trust, and act on."), 4 to 6 weeks, from $3,500 with most projects $4,500 to $7,500, 2 revision rounds, aimed at a 30-minute Project Fit Call, in front of a $250 Project Clarity Session credited in full within 30 days.memory-bank/offer-draft.mdwas then reconciled: the slot table now reads answered for every slot, the revision count moved 3 -> 2, "Site Assessment" became the Project Clarity Session, the price band and floor filled in, and the ten[[TODO]]case-study prompts were replaced by the ten transformation outcome lines (honest, because no hard numbers exist). Two items stay open: individual client clearances for published proof (item 5) and whether deposits or milestones are stated (item 9). No production file was touched; the only edits aresales-funnel-plan.mdandoffer-draft.md, both uncommitted. -
2026-09-22 - Deploy verified from the outside, and everything to date is now public. The user committed the staged batch as
8a7c3ea("reworked some verbiage and added captions"), pushed it toorigin/mainand uploaded the repo root by hand, so the icon set, the social card, the fullog:*/twitter:*set, copy pass 1, the 26 captions and the re-voiced blurbs are live for the first time. Verified by probe rather than assumed: all 16 pages return 200 with exactly oneog:imageand tworel="icon"links each;img/favicon.svg(2.1 KB,image/svg+xml),img/favicon.ico(15 KB),img/apple-touch-icon.png(3 KB) andimg/og-image.png(176 KB) all return 200 with the right MIME types;/work.htmlserves 26 figures and 26 captions, every re-voiced string, and none of the replaced ones;/services.htmlserves the Workflow band and the food-cart copy; and a crawl of all 61 unique local asset paths the pages reference (images, CSS, JS, fonts) found no 404s. Working tree clean,HEAD==origin/main. The only caveat is that social scrapers may serve a cached preview of the domain until their caches turn over. -
2026-09-22 - Section copy brought in line with the captions, and the last naming questions settled. Four
work.htmlblurbs were re-voiced so nothing contradicts the caption above it: the Words intro ("Editorial, documentation, and sales copy: we write it, we edit it, and we lay it out."), the App Design blurb (some pieces were "coded end to end", the rest "built to look real long before they ship"), the Print blurb (leads with the ads the gallery shows, keeps flyers, postcards, business cards, letterhead and product design as capability) and the Logos intro (", and the occasional title slide", so the Dat Art slide reads as deliberate). The Dat Art caption became "Presentation for Motion Labs" with a matching alt; "a pretzel stand" became "a food cart" inwork.htmlandservices.html, matching the render (labelled "Gourmet Pasteles and Churros") and the Upscale Food Cart case study. The user confirmed YLEM stays in both galleries and that2plus5times3.webpkeeps its name with the caption(10 + 2) x 5authoritative. Verified: all seven new strings render and all five old ones are gone, 26 figures over 26 distinct images with one caption each, tags balance and every reference resolves across all 16 pages, no em dashes, galleries re-measured in headless Chrome (Print and App Designoverflow=0with both arrows disabled, Words 292px with only "next" enabled) and screenshot-checked at 1280px and 390px. Staged, awaiting the user's commit. -
2026-09-22 - Captions re-worded to the scope the user confirmed, and two pieces moved to Words. The user read the captions back against the archive and corrected the scope on six of them: Back That Ass Up is not a plain identity but the mark for a political campaign art show (which is why it is in US-flag colours), Mehavior was UX and UI, (10 + 2) x 5 was designed and coded end to end, and the three ads - Loren Kincaid, Macchiarini Metalworks, K.C. Engineering - are all plainly Print Ad (capital A, as specified in the brief). Sam's Rules of Money is "Book editing and illustrations", which the old "Book cover" hid (the user edited the book and its illustrations). Two pieces moved into the Words gallery, on the rule that a piece belongs to the category of its deliverable, not of the paper it landed on:
writtenearplugs.webp("Article, Urban Moto, February 2007") andprintylemcover.webp("Editing and cover design" - the user edited the whole magazine, cover included). Print now holds 3 items, all print ads; Words holds 4, ordered book, magazine, article, guide. Nothing else references those two files, so both galleries were the only edits. Verified: 26 figures over 26 distinct images, one caption each, exactly two references to the moved files (both in Words), tags balance and every reference resolves across the 16 pages, no em dashes, and the carousels were measured in a headless browser - Print is nowscrollWidth == clientWidthwith both arrows disabled (matching App Design, so 3 items leaves no dead control) while Words overflows by 292px with only "next" enabled - plus screenshot checks of the Print and Words bands at 1280px and 390px. Build intermediates in.tmp-captions/were deleted. Uncommitted. -
2026-09-22 - Work galleries captioned, and the earplug piece moved. All 26
work.htmlfigures are now<figure>elements carrying a.carousel__caption(piece name in semibold ink, format on a muted second line), styled by two new rules incss/style.cssand always visible rather than hover-only, because hover does not exist on touch. The caption copy was written from the artwork itself after reviewing a labelled contact sheet of all 26 images, which caught a swap in the source set:writtenearplugs.webpis the Urban Moto earplug feature (page 39, February 2007) andwrittenstructions.webpis the Napwell quick start guide. Per the backlog item,writtenearplugs.webpmoved out of the Urban Moto case-study grid into the Print gallery, and that grid changed fromrow-cols-sm-2torow-cols-sm-3so its three remaining ads (K.C. Engineering, Loren Kincaid, Macchiarini) sit in one clean row with specific alts. No caption carries an author byline (see the attribution rule). Verified: tags balance and every reference resolves across the 16 pages, 26 figures over 26 distinct images with one caption each and no duplicates, screenshots of the Logos, Print and Words galleries at 1280px and 390px plus the Urban Moto grid, and a local 200 on every page. Build intermediates in.tmp-captions/were deleted. Uncommitted. -
2026-09-22 - Open Graph / social image added, and the live domain recorded (second Assets item).
img/og-image.pngis a 1200x630 card built to match the site's hero rather than a generic graphic: the 120 degree green gradient, the faint ink dot grid at an 18px pitch, theDESIGN STUDIOeyebrow with tracking, the2RE03wordmark, the hero line "A design team for the web, and everything around it.",2re03.com, and a 130px strip of six real work tiles (collage-1..6.webp) under a green wash (0.86 to 0.95) so it reads as texture and not noise. Rendered with PIL from the same instanced fonts the site uses (Space Grotesk 700, Inter 500/600), with the layout tuned against measured ink bands instead of by eye (element gaps 34 / 32 / 12 / 29 px, and 34 px of clear space above the strip). All 16 pages now carryrel="canonical", the fullog:*set (includingog:image:width/height/alt) andtwitter:card=summary_large_image, with titles and descriptions reused from each page's own<title>and meta description so there is one source of truth per page. The live URL is https://2re03.com/, and the host serves.htmlURLs (/work404s while/work.html200s), so canonicals use the.htmlform with the bare root for the homepage. Verified: every page has exactly one of each tag,og:urlequals that page's canonical, the declared image size matches the file (1200x630), tags balance, no em dashes, every reference resolves, and all pages plus the four new assets return HTTP 200. Note the live site still 404s on the new files because they are not deployed yet. Uncommitted. -
2026-09-22 - Favicon added (first item of the Assets batch, and the first thing built after the copy pass).
img/favicon.svgis a#2ee666rounded tile carrying the digit2as outline paths in brand ink, so it renders identically with no client font;img/favicon.icoholds 48/32/16 px rasters of the same mark;img/apple-touch-icon.pngis a 180x180 square, opaque version for iOS (which applies its own corner mask). The outlines came from the site's own wordmark font:fonts/SpaceGrotesk-latin.woff2instanced atwght=700withfontTools.varLib.instancer, because that file is a variable font whose default instance is Light 300. Checks run: ink centred on the tile within half a pixel and the digit at ~56% of the tile, legible at 16 px, all 16 pages declare the three icons with relative paths (img/...at the root,../img/...incase-studies/), tags still balance, every reference resolves, and the three assets serve HTTP 200. Recipe documented intechContext.md-> Icon & Social Assets. Build intermediates were kept in a temporary in-repo folder (.tmp-favicon/) and deleted. Uncommitted. -
2026-09-22 - Copy pass 1 from
memory-bank/todo.mdimplemented (all fourNowitems), and this memory bank updated to match. Wording came from the brief, re-voiced from first person to the studio "we", with no em dashes introduced. Details: the homepage closing CTA inindex.htmlis now "Have something that needs making?" followed by the three client questions (alist-unstyledlist at.leadsize) and "Tell us what you're trying to do. We'll figure out what needs to be made.", with a one-line.cta-questions li + lispacing helper incss/style.css;services.htmlgained a Workflow band between the Process section and the closing CTA (Old workflow / AI-assisted workflow / Finished result, the middle card dark viabg-ink text-cream) carrying the "we've figured out how to use AI to dramatically accelerate the design and development process without turning the result into generic AI slop" line; andwork.html's closing band line became "Got a weird project? Give it to us." Verified: HTML tags balance on every touched page, no em dashes (character or entity), every relativehref/srcresolves, all pages/assets return HTTP 200 locally, and the two new sections were screenshot-checked at 1280px and 390px (the dark middle card and the mobile stacking both render correctly). Uncommitted; nothing was committed or pushed. -
2026-09-22 - Backlog moved into the memory bank:
TODO.mdat the repo root becamememory-bank/todo.md(lowercase filename), so the backlog now sits with the other memory-bank files. References inactiveContext.md,progress.md, andtechContext.mdwere repointed. The site itself was untouched (no page ever linked toTODO.md). -
2026-09-22 - User set a code and writing style requirement: soft wrap. Do not hard-wrap lines to fit a column limit (there is no ~80-char limit) in code or in memory-bank writing; let the editor soft wrap long lines and break lines only at structural boundaries. Existing hard-wrapped files are left alone, with no reformat pass.
-
2026-09-22 - User set a second working agreement: do not edit files outside the project folder (
/home/torrey/Documents/Sites/2RE03). Recorded here (Working Agreements at the top, plus the decisions log), inprojectbrief.md(Ways of Working),techContext.md(Tool Usage Patterns), andprogress.md. No production files changed. -
2026-09-10 - Created the standard memory bank (
memory-bank/): the six core files plusreference-materials.md(replacing an earlier single-file draft). -
2026-09-10 - Deleted the superseded draft
.clinerules/memory-bank-oops.md;.clinerules/now holds only the rule file. -
2026-09-10 - User locked the stack/styling/brand decisions (see below).
-
2026-09-10 - Built the v0 scaffold: vendored Bootstrap 5.3.3 and the Inter/Space Grotesk fonts locally; created
css/,js/,img/,fonts/; copied the 23 reference images intoimg/; wrote all five pages,css/style.css,js/main.js, and the Web3Forms contact form. -
2026-09-10 - Verified: all pages/assets return HTTP 200 locally, HTML tags balance,
js/main.jspassesnode --check, no links intorefrence/. -
2026-09-10 - Rethemed the site to a green palette centered on
#2ee666(tokens renamed incss/style.css; hero, header, footer, buttons, links, and accents updated; HTML class/meta updates). -
2026-09-10 - Added a Collins-inspired Case Studies feature: a typographic index (
case-studies.html) with a cursor-following hover preview (js/case-studies.js), 8 detail pages incase-studies/, a homepage case-studies section, and "Case Studies" added to the nav/footer of every page. -
2026-09-10 - Added 6 real client websites as case studies (Cool Crap From China, Teach Each Other AI, Jensen's Red Barn, Mask Aid Project, 1 Woman's Art and Magic, Sam's Rules) with screenshots + live-site links; list now 13 entries.
-
2026-09-10 - Corrected two case studies: "Kincaid" → Urban Moto (print design / art direction for a motorcycle magazine, 4-image gallery), and 1 Woman's Art and Magic → a two-book art series for painter Joanna Signer plus the website to help sell it.
-
2026-09-10 - Trimmed case studies 13 → 11: removed Cool Crap From China and Data Vis Art; replaced Coop with Cart (a 3D design proposal). Work kept in the full portfolio (Cool Crap added to the Web gallery, Data Vis Art moved to the Logos gallery).
-
2026-09-10 - Corrected Mehavior to an app project (logo, app interface and button design, and investor-pitch promotional material); category now "App Design & Identity".
-
2026-09-10 -
work.html: added a new App Design category (moved Mehavior in; added the "(10+2) x 5" productivity timer app). -
2026-09-10 -
work.html: moved Web Design to the top of the section order (now Web Design, Logos, App Design, Print Design, 3D Modeling, Written Work). -
2026-09-10 - Renamed the "Written Work" category title to "Editorial" across the site (work page, homepage/services cards, and the Sam's Rules category label).
-
2026-09-10 - Converted the homepage Selected work and all six Work galleries into Collins-style carousels (rounded, cropped images; scroll-snap track; arrows + keyboard + mouse drag via
js/carousel.js). -
2026-09-10 - Expanded the Mask Aid Project case study's "What we did": video production, crowdfunding campaign, copywriting, and translation from Chinese.
-
2026-09-10 - Web Design gallery: added Jensen's Red Barn + Mask Aid Project snapshots; re-shot the timer app image as a close-up.
-
2026-09-10 - Homepage copy: replaced the avocado-hipster tagline with a professional, team-voiced hero line, and changed "Web design first. Everything design second." to "Web Design Is Only the Beginning" (+ supporting copy). Tone direction updated in
productContext.md. -
2026-09-10 - Renamed the "Editorial" category to "Words" (covers sales copy + technical writing too): work-page heading/caption, homepage and services cards, and the Sam's Rules label ("Words & Web").
-
2026-09-10 - Homepage: moved Selected work above What we do (background alternation preserved).
-
2026-09-10 - Case studies pruned to 10 and reordered: removed Argent; renamed Victoria → Victoria Fuller, Cart → Upscale Food Cart (with page files renamed). Order now: Mask Aid Project → 1 Woman's Art and Magic → Sam's Rules → Mehavior → Jensen's Red Barn → Upscale Food Cart → Silver Lining → Victoria Fuller → Urban Moto → Teach Each Other AI.
-
2026-09-10 - Enriched 5 case studies with client detail: Sam's Rules (illustrations + downloadable companion content), Jensen's Red Barn (Grandma Dorothy's scrapbook slideshow), Silver Lining (drove clients to a high-end retreat), Victoria Fuller (Playboy Bunny / logo rights), Urban Moto (guest articles, managing submissions, custom client ads).
-
2026-09-10 - Jensen's Red Barn: added "Social media setup" (removed "Contact section"). Sam's Rules category → "Book Design & Web".
-
2026-09-10 -
work.html: movedweb50shadesof2048.pnginto App Design (out of Web Design). -
2026-09-10 - App Design: swapped
site-timer-app.jpgfor2plus5times3.jpg(cropped to 4:3). -
2026-09-10 - Added web backend services (hosting, site management, domain/URL sourcing) to
services.htmland the homepage Web Design card. -
2026-09-10 - Removed all em dashes from the site (and the memory bank); the tone guide now bans them.
-
2026-09-10 - Contact form: Subject field is now optional.
-
2026-09-10 - Replaced the hero portrait with a green gradient + dot grid site-wide, and a work collage on the homepage.
-
2026-09-10 - Case study heroes now use each project's own image as the background (
.hero--image+--hero-image). -
2026-09-10 - Hero tweaks: Mehavior shows the top (logo), Victoria Fuller sits at
center 10%(cursive name), Jensen's Red Barn usesred-barn-photo.jpg, Urban Moto uses the middle ofprinttiresad.png. Added--hero-position. -
2026-09-10 - Case study images no longer letterbox (natural aspect via
.card-work); added.card-work--framefor Urban Moto's grid. -
2026-09-10 - Removed
refrence/(temporary source, 19.4 MB) and four superseded images; stashed to/home/torrey/2RE03-unused-assets-backup/. -
2026-09-10 - Version control set up:
git initonmain, first commit of 79 files, remoteorigin= Forgejo2RE03-Design. -
2026-09-10 - Added
TODO.mdas the backlog; the site was published by the user, andmemory-bank//.clinerules/were confirmed to stay tracked. -
2026-09-10 - Optimised all images to WebP (
img/20 MB -> 3.2 MB, 85% smaller);printtiresad.pngstays PNG. SeetechContext.md, Image Pipeline.
Next Steps
The full backlog lives in
memory-bank/todo.md. This section keeps only the current priorities; new items go intotodo.mdfirst.
-
Get user sign-off on the copy that is now live: copy pass 1 (homepage CTA,
services.htmlWorkflow band,work.htmlhook) plus the captions and the re-voicedwork.htmlblurbs; refine wherever it reads wrong. -
Case-study grid captions - the main remaining content item. 9 of the 10 detail pages hold a single
figure.card-workbeside the copy and Urban Moto holds a 3-up grid of ads, none of them captioned, and.card-workhas no caption style yet. -
Confirm the caption names that were read off the artwork (Argent, Drinking About..., D.R.I.V.E., 50 Shades of 2048, '78 Williams,
3dabandoned, and the unnamed "Sales page"). -
Assets: a real 2RE03 logo, if one exists (the icon set and social card are done and live as of 2026-09-22), and more or real gallery work items, which need artwork nobody has supplied yet.
-
Sales-funnel redesign: the offer is answered and the draft is reconciled, so the next move is copy, then build (2026-10-01). The diagnosis (10 leaks in the current site), the Land -> Recognise -> Believe -> Offer -> Risk reversal -> Convert -> Measure structure, the page-by-page draft and Cline's recommendation are in
memory-bank/sales-funnel-plan.md; the Offer stage is one primary offer with a published price band plus a fixed-price diagnostic as the entry step (decision 34), now fully specified as The 2RE03 Website Launch (4 to 6 weeks, from $3,500, most $4,500 to $7,500, 2 revision rounds) with the Project Clarity Session ($250, 60 to 90 minutes, credited in full within 30 days) in front of a 30-minute Project Fit Call (decisions 35 and 36).memory-bank/offer-draft.mdholds the reconciled slot table and the draft copy forservices.html,index.htmlandcontact.html. Next: work through the staged build order (pages first, thenthank-you.html, the scheduling link and the Umami snippet), with the one remaining open item (deposits/milestones) settled before copy ships (the proof-clearance question is settled as none yet). Step 1 is done:services.html(Blocks A and B) was built on 2026-10-01 and red-penned the same day, andcontact.html's subject field became a required topic dropdown (so the Block D pass on that page is partly underway, though its risk-reversal copy still waits on the deposits/milestones answer and the scheduling link);index.htmlis next. The remaining Polish items are the low-resolution Urban Moto hero and a possible motion/video section (the IKEHU video is not on this machine). -
Two inputs are still needed from the user before the funnel copy is complete: the deposit percentage and the milestone split (so the payments line can carry a figure), and the deferred proof answers (client permissions, case-study name confirmations, images, outcome numbers), which the user is coming back to in a later session.
Active Decisions & Considerations
Decisions Log
| # | Decision | Status |
|---|---|---|
| 1 | Standard multi-file memory bank | ✅ Done |
| 2 | refrence/ was temporary source; removed before the first commit (backed up outside the repo) |
✅ Done |
| 3 | Never attribute work to a named individual on the site | ✅ Done |
| 4 | Tone = sharp, professional, team-voiced, with an edge (see productContext.md) |
✅ Updated |
| 5 | Stack = static hand-coded HTML + Bootstrap 5.3.3 (vendored locally) | ✅ Done |
| 6 | Styling = Bootstrap components + custom css/style.css |
✅ Done |
| 7 | Brand = purely 2RE03; no 2RE Factory parent brand | ✅ Done |
| 8 | Fonts = Inter + Space Grotesk, self-hosted in fonts/ |
✅ Done |
| 9 | Folder layout = css/, js/, img/, fonts/ |
✅ Done |
| 10 | Contact = dedicated contact.html → Web3Forms (public access key) |
✅ Done |
| 11 | Pages = index, work, about, services, contact | ✅ Done |
| 12 | Reference images copied refrence/img/ → img/ as production assets |
✅ Done |
| 13 | Color scheme centered on #2ee666 (green on ink) |
✅ Done |
| 14 | Add Collins-style Case Studies (index + 8 detail pages + hover previews) | ✅ Done |
| 15 | Add 6 real client websites as case studies (screenshots + live links) | ✅ Done |
| 16 | Homepage copy: retire the avocado-hipster tagline; new team-voiced, professional hero + "Web Design Is Only the Beginning" | ✅ Done |
| 17 | Version control: git repo on main, pushed to the Forgejo remote origin (2RE03-Design) |
✅ Done |
| 18 | Site is published | ✅ Done |
| 19 | Keep memory-bank/ and .clinerules/ tracked in the repo |
✅ Done |
| 20 | TODO.md is the backlog; the memory bank points at it (now memory-bank/todo.md, see #24) |
✅ Done |
| 21 | No git commit or git push without explicit user approval |
✅ Active rule |
| 22 | No editing files outside the project folder (/home/torrey/Documents/Sites/2RE03); reads elsewhere are fine, writes are not, so ask first if a task seems to need one |
✅ Active rule |
| 23 | Soft wrap: no hard wrapping at a column limit, in code and in memory-bank writing; a break marks a structural boundary, not a width boundary. Going forward only, with no reformat pass over existing files | ✅ Active convention |
| 24 | Backlog lives at memory-bank/todo.md (moved out of the repo root and lowercased on 2026-09-22) |
✅ Done |
| 25 | Live site = https://2re03.com/ and the host serves .html URLs, so canonical and Open Graph tags use absolute .html URLs (bare root for the homepage) |
✅ Done |
| 26 | Site assets are generated from the site's own fonts: the favicon from instanced Space Grotesk outlines, the social card rendered with PIL to match the hero. Recipes in techContext.md |
✅ Done |
| 27 | Work-gallery captions are written from what is actually in the image (client and format where known), always visible rather than hover-only, and never carry an author byline | ✅ Done |
| 28 | A piece is filed under the gallery of its deliverable, not the paper it was printed on, so the Urban Moto earplug article and the YLEM Journal cover live in Words rather than Print | ✅ Done |
| 29 | One client's work may legitimately appear twice when it serves two galleries: the YLEM identity mark stays in Logos and the journal cover stays in Words (user-confirmed 2026-09-22) | ✅ Done |
| 30 | webdatavisart.webp stays in Logos and is captioned as a presentation ("Presentation for Motion Labs") rather than a mark, and the Logos intro says so (", and the occasional title slide") |
✅ Done |
| 31 | A section blurb may claim only what the gallery under it actually shows; wider capability lists live on the service cards, not above a gallery | ✅ Done |
| 32 | 2plus5times3.webp keeps its file name; the caption (10 + 2) x 5 is treated as authoritative, and neither is treated as a typo |
✅ Done |
| 33 | The sales-funnel redesign starts from the offer, not the layout: the user opted to define what is sold before any funnel copy or structure is written, so the diagnosis, the stage structure and a 9-item offer sheet live in memory-bank/sales-funnel-plan.md, and nothing gets built until the offer facts are supplied |
✅ Done (shape settled, see #34) |
| 34 | The Offer stage is one primary offer with a published price band, plus a fixed-price diagnostic as the entry step, with all other capability left as bench depth. Cline recommended this (reasoning in memory-bank/sales-funnel-plan.md); the user accepted it on 2026-09-22. Packages (two to four engagements) and consultative/no-price selling are deferred to later stages rather than rejected. The copy lives in memory-bank/offer-draft.md |
✅ Done; offer facts supplied 2026-10-01 |
| 35 | The offer is The 2RE03 Website Launch: "We build distinctive websites that make your business easier to understand, trust, and act on.", 4 to 6 weeks, from $3,500 with most projects $4,500 to $7,500, 2 revision rounds, and the client owning the finished work on final payment. The paid entry step is the Project Clarity Session ($250, 60 to 90 minutes, credited in full toward a project within 30 days), aimed at a 30-minute Project Fit Call. Full answers in the offer-sheet table in memory-bank/sales-funnel-plan.md and the slot table in memory-bank/offer-draft.md |
✅ Done 2026-10-01 |
| 36 | Funnel specifics settled 2026-10-01, amended the same day: the secondary path is a written enquiry, not a booking link (revised from "a scheduling link" when the user answered that a plain email was enough; the topic dropdown is the booking path and no email address is published anywhere on the site); team voice ("we") on contact.html, not a named individual; the reply-time promise kept as the live copy states it; no industries or project types turned down; every page kept consistent with the others; Umami analytics chosen, self-hosted (the user is setting it up and adding it later). Proof clearances settled 2026-10-01 as none yet (no client name, quote, logo, photograph or identifiable number beyond the names already published), so the proof stage ships as named case studies plus the outcome lines only. Nothing about the offer is left open (2026-10-01) |
✅ Done |
| 37 | Both deposits and milestones are stated on the offer (offer-sheet item 9, answered 2026-10-01), which was the last open offer question. The copy says a project starts on a deposit, payments fall due as agreed milestones are met, and the balance is due on delivery; the deposit percentage and the milestone split are still to be supplied, so no figure goes on a page yet. Client ownership stays tied to "paid in full" | ✅ Done, figures pending |
Open Questions (remaining)
- Real logo: the favicon and the Open Graph image were both built on 2026-09-22, but does a real 2RE03 logo file exist anywhere? Nothing has turned up in the repo or the asset backup.
- Copy approval: review/refine the drafted company-voice copy (copy pass 1 landed 2026-09-22 and is still awaiting sign-off).
- Gallery content: more work items, plus captions for the case-study grids? The
work.htmlgalleries were captioned on 2026-09-22, but several of those names were read off the artwork and need confirming (Argent, Drinking About..., D.R.I.V.E., 50 Shades of 2048, '78 Williams,3dabandoned, and the unnamed "Sales page"). The Dat Art filing is settled: the title slide stays in Logos, captioned as a presentation rather than a mark. - Live URL: answered, https://2re03.com/ (recorded 2026-09-22; the host serves
.htmlURLs). - Deploy cadence: should the new icons and social card go live now, and is deploying a manual upload?
- Published proof: answered 2026-10-01, none yet (see decision 36). No client has agreed to a name, company, testimonial, photograph, logo or identifiable number, and the case studies already publish the client names, so the proof stage ships as named case studies plus the transformation outcome lines only. The permission rule stands (ask first): if a clearance arrives later, add it then.
- Commercial terms: answered 2026-10-01 (decision 37), both are stated. The copy says a deposit starts the project, payments fall due as agreed milestones are met, and the balance is due on delivery. Still to supply: the deposit percentage and the milestone split, so no figure goes on a page until they arrive.
Important Patterns & Preferences
- Git is user-gated: never
git commitorgit pushwithout explicit approval (see Working Agreements at the top of this file). - Backlog convention:
memory-bank/todo.mdis the human-facing list of open work (moved there from the repo root on 2026-09-22). When an item lands, check it off and move it into the## Donesection with the date it landed, then prune Done periodically. The rest of the memory bank keeps only the current priorities and points there, so the two never drift. Issues (Forgejo) are for items that need discussion. - Plan-first; small, verifiable changes; plain/static, dependency-light output
(see
projectbrief.md→ Ways of Working). - Private asset provenance (never credit the CEO on the site).
- Keep all site copy in the tone defined in
productContext.md. - Soft wrap, no hard wrapping: do not insert line breaks to satisfy a column limit. Keep each logical unit (statement, tag, CSS rule, list item, paragraph) on one line; a break marks a structural boundary, never a width boundary. Applies to code (HTML/CSS/JS) and to memory-bank writing. Existing hard-wrapped files stay as they are. Details in
techContext.md-> Code Style.
Learnings & Insights
- The reference build used hand-coded HTML + Bootstrap 5 with a small custom
carousel (
series-carousel.js); the localcss//js/assets it references are NOT present in this repo. - The reference bio is first-person and individual-focused; the 2RE03 site must re-voice it as the company.
Housekeeping
- The superseded single-file draft
.clinerules/memory-bank-oops.mdwas deleted (2026-09-10)..clinerules/now contains onlymemory-bank.md. - Note:
.clinerules/memory-bank.mdis the Memory Bank rule file (it describes the structure); the actual data files live in the top-levelmemory-bank/folder. refrence/plus four superseded images (blue_eyes_Torrey.png,red-barn-photo.jpg,site-sams-rules.jpg,site-timer-app.jpg) were moved on 2026-09-10 to/home/torrey/2RE03-unused-assets-backup/(22 MB, outside the repo). Runrm -rf /home/torrey/2RE03-unused-assets-backuponce nothing is needed from it.