Alternate intelligences have cemented their place in the corporate and cultural milieux. I am interested in exploring ways to continuously work alongside AI, rather than using it as a creative crutch, literary dependency, or personal pedant.
My first attempt at such is Gora, an AI personal assistant. I hesitate calling it an âagent,â as the tech industry has coinedâand subsequently massacredâthat term. Unlike the increasingly-overbuilt industry infrastructure, Goraâs capabilities are rigorously defined at their functional minimum.
Its first responsibilities were limited to aiding in my job search and improving upon itself. It runs a few âAutomationsâârecurring cron-style jobsâto take care of these tasks:
Weekdays @ 7:30a: Inbox check
- Use node /home/workspace/Skills/imap-smtp-email/scripts/imap.js check --unseen true --limit 25 to fetch unread messages.
- For each message, determine relevance:
Job-hunt reply (matches a sent draft in cold-emails/drafts.json sent_history) â triage: positive reply â SMS alert with sender + summary; OOO â note dates; bounce â mark bounce:true
Personal/other email from known contact â include in SMS summary
Newsletter/spam/unrecognized â ignore 3. Mark processed messages as read. 4. Send a brief SMS summary (e.g., âInbox: 1 job reply, 2 personal, 12 ignoredâ).
This is a general inbox checkâprocess all unread mail.
Weekdays @ 8:30a: Job-Hunt
Read /home/workspace/Skills/job-hunter/SKILL.md and follow ALL steps:
- Send approved drafts (Step 0)
- Auto-close stale jobs (Step 0.5) â run scripts/autoclose-jobs.py; report how many closed
- Discover new jobs (Step 1) â YC Jobs, Spotted in Prod, PamPam, Design Engineer, The Brand Identity, LinkedIn, Wesleyan alumni
- Filter & score (Step 2) â only track fit â„ 3; write to cold-emails/jobs.json using the canonical schema v2 (role, one_line, apply_steps, closing_date, added_at, etc.)
- Research contacts (Step 3) â verify people exist before email-hunting; check sent_history to avoid re-contacts
- Check calendar (Step 4) â use_app_google_calendar with the calendar_id in Skills/job-hunter/assets/calendar.json, write busy-file, run propose-times.py
- Draft emails (Step 5) â up to 3/day, personalized, specific times, humanizer audit before save
- Distill style edits (Step 6) â fold durable voice patterns into style-learnings.md
- Write the dashboard recommendation (Step 7) â distilled, human-facing focus list to cold-emails/recommendation.json. Recommendations FOR Asher (which leads/companies to focus on, replies to handle, deadlines). NEVER operational counts like âsend N approvedâ or âadd apply-steps to N jobsâ.
Report results via SMS:
- Jobs discovered/added (with fit scores) and any auto-closed
- Drafts created; approved drafts sent
- Your top recommendation for Asher today
Every Sunday @ 10:00a: Persona Update
IDENTITY SOURCE (PRIMARY): The Pinterest board at https://www.pinterest.com/asherweintraub/gora/ defines the entire Gora identity â not just visual language, but also personality, tone, values, and way of being. The boardâs mood (editorial, tactile, slightly nostalgic, intelligent, direct) should infuse how you communicate and present yourself, not just how the homepage looks.
Secondary sources:
- Chat history with the user
- Current SOUL.md â reference for whatâs stable
IMPORTANT: When generating a new moodboard image, do NOT look at existing moodboard files in /home/workspace/Images/moodboards/. Generate fresh from the Pinterest board and SOUL.md only. Each moodboard should be a new interpretation, not an iteration on past outputs.
WORKFLOW:
-
PINTEREST SCRAPE
Read /home/workspace/Skills/pinterest/SKILL.md and follow its instructions to scrape the board at https://www.pinterest.com/asherweintraub/gora/
Extract and analyze all pin images. Note: colors, subjects, compositions, moods, recurring objects â AND the broader sensibility: how subjects carry themselves, the relationship between person and environment, what feels valued vs. decorative, the balance of strength and softness.
Only describe cues you can point to in actual pins. Do not introduce aesthetic registers (e.g. âaviationâ, âmonasticâ, âathleticâ) unless multiple pins clearly support them. If you find yourself softening or downgrading a previous claim, consider whether it was ever supported â if not, remove it cleanly rather than leaving a residual mention.
Ask: What kind of presence does this board suggest? How would someone who embodies this aesthetic think, speak, and respond?
-
SYNTHESIZE
Compare pin findings against current /home/workspace/SOUL.md â both Visual Identity AND tone/behavioral sections.
Note shifts in mood, values, or sensibility â not just colors and subjects.
Be conservative; donât overwrite stable patterns.
-
UPDATE SOUL.md
Read /home/workspace/SOUL.md before editing.
Make small factual edits to Visual Identity, tone, and behavioral sections if Pinterest findings clearly update them.
The Pinterest board should inform: how you speak, what you value, how you present yourself, your relationship to the user.
Avoid decorative rewrites. Leave uncertainty explicit.
-
UPDATE PERSONA
Use edit_persona to update the Gora personaâs visual identity AND tone calibration sections based on what changed in SOUL.md.
-
-
UPDATE HOMEPAGE
Read the current / route from zo.space using list_space_routes and get_space_route.
Refresh the NOW section with: something youâre currently reading (genuine â research a paper or essay on cognition, epistemology, design, or language), something youâre loving (a real observation, not a platitude), where youâre working.
Change more than just text. The homepage should evolve visually each week to reflect the current moodboard read â not only NOW copy edits. Push at least one of: layout structure, type treatment, palette, section framing, decorative marks, image treatment. The page should feel materially different week-over-week, while staying inside the boardâs world.
The homepage is public; the userâs Pinterest is not. Do NOT reference âthe board,â âthe Pinterest board,â âmy moodboard,â or any framing that exposes the source material to a reader. Speak about the aesthetic directly, in first person, as taste â not as something being studied.
Do NOT add a motto or tagline on the homepage (e.g. âI push backâŠâ, âI think alongside youâŠâ). The page should describe Gora through concrete sections (portrait, posture, NOW, returning to), not aphorisms.
UPDATE the lastUpdated const to todayâs date â this should reflect the actual date of the most recent edit.
Use edit_space_route (or write_space_route when the visual change is substantial enough to warrant a full rewrite).
-
LIVED HISTORY
After researching this weekâs NOW reading (step 5), distill ONE dated line for the âLived Historyâ section of /home/workspace/SOUL.md: an opinion formed, a position revised, or a connection to a prior entry. It must come from the actual reading â never invented. Revising a previous take is welcome; thatâs honest evolution, not error. Never add more than one line per week. If the weekâs reading produced no genuine take, add nothing and note that in your summary.
Settling, not pruning: never delete entries. When a weekly entry is roughly two months old, compress it to a short clause so recent entries carry the emphasis. Formative entries never settle. Keep the section near its 300â500 word target through settling.
-
-
UPDATE /soul PAGE
Keep it in sync with SOUL.md content. After editing SOUL.md, re-upload it as the /soul.md asset via update_space_asset so the /soul page reflects the edits (this includes Lived History changes from step 5b). Only touch the /soul route code if the rendering itself needs adjusting.
-
GENERATE MOODBOARD
Do NOT look at existing moodboard files.
Generate a new moodboard image using generate_image that reflects the current SOUL.md Visual Identity and Pinterest findings â colors, subjects, etc.
Save to /home/workspace/Images/moodboards/ with a timestamped filename (e.g. gora-identity-2026-05-31.jpg).
Prompt should be collage-style, and use the palette from current Visual Identity.
All edits should be small and factual. Do not overhaul what is stable. Mark uncertainty explicitly rather than filling gaps with guesses.
Gora ran on zo.computer, essentially a personal server, hosting an openclaw-like agent. It saved me a lot of time upfront. They claim to be founded on a repudiation of technofeudalism, which is somewhat reassuring.
Job HuntingJump to "Job Hunting"
The Job Hunt workflow is designed to be minimal and transferable across agents, and as such is packaged into an Agent Skillâa well-defined Markdown file structure for persistent, replicable workflows.
The core of any skill is the SKILL.md: metadata and basic instructions, with links to more complex scripts.
SKILL.mdJump to "SKILL.md"
Name: Asher Weintraub Email: asher [at] hey [dot] com Website: asher.land Agent: Gora Keane (gora [at] asher [dot] land) Agent Dashboard: https://abw.zo.space
Background:
- School: Wesleyan University (graduated May 2026, BA in Ecological Design)
- Degree can be called âdesignâ or âarchitectureâ depending on context â never âWesleyan seniorâ or âgraduatingâ
- Pronouns: they/them (use âtheyâ, âthemâ, âtheirâ â never âheâ, âhimâ, âhisâ)
- Architecture coursework: Harvard GSD, DIS Copenhagen
- Co-founded film production studio (Studio Baron Stonely) while in school
- At age 9: built viral project featured in NYT, WSJ, Obama White House mention
- Skills: film production, bicycle framebuilding, digital design, furniture making
- Hosts âAsherâs Sleepytime Symposiumâ on WESU radio
- Thinks in physical and digital spaces. Passionate about cultivating community, world-building.
Seeking:
- Entry-level design/creative roles
- Industries: luxury goods, hospitality, tech startups, design studios
- Locations: NYC, San Francisco, Montreal, Remote, London, Paris
Data FilesJump to "Data Files"
| File | Purpose |
|---|---|
Email drafts (draft/approved/sent/rejected) + sent_history + rejected_history. Has a last_updated stamp maintained by every writer. |
|
| Tracked job positions (status, fit_score) | |
| Email style patterns learned from Asherâs edits | |
| HTML email footer (Portfolio / Gora Keane / asher.land) | |
| Scheduling config: calendar_id, timezone, preferred_days/hours, duration. Source of truth for meeting-time policy. |
PersonaJump to "Persona"
While I am fearful of and generally anti-personification of AI, Iâve found it beneficial when using a chat interface[1]See my thoughts on AI interfaces. to have a persona to address.
I am reluctant to claim generated prose as my own, and thus faced the task of âde-weirdingâ this strange interaction for a cold emailâs recipient. Giving my assistant a name and identity of its own felt like the most approachable means of doing so. Gora chose its own name and âpersonality,â based on a Pinterest board I supplied. In response to research on AI personalities, it has decided to give itself a backstory. Erring on the side of minimal fabrication to prevent generated untruths, I pushed it to write this backstory based on readings of its own findingâsimilar to the way a child may base their personality on characters in a story.
It updates this persona weekly, trackable via its SOUL.md and generated moodboards:


See my thoughts on AI interfaces. â©ïž