Astro Now · Community

People making time their own.

A small, opt-in constellation of people who have chosen to share a chart. Sun placements are the first of many public chart details to come.

{{ directoryPeople.length }}

public {{ directoryPeople.length === 1 ? 'person' : 'people' }}

Finding the public constellation…

The directory is taking a moment.

{{ directoryError }}

{{ directoryPeople.length ? 'No people match that search yet.' : 'The first stars are just arriving.' }}

{{ directoryPeople.length ? 'Try a name, handle, or another Sun sign.' : 'Public profiles appear here when people choose to share their chart.' }}

{{ publicPerson.name.slice(0, 1) }}

{{ publicPerson.name }}

{{ publicPerson.handle || 'Astro Now member' }}

Star code · {{ referralShortId(publicPerson) }}

☉ Sun placement

{{ publicPerson.summary.sun.sign }} · {{ publicPerson.summary.sun.house }}{{ ordinal(publicPerson.summary.sun.house) }} House

Chart detail arriving soon

Born in {{ directoryBirthRegion(publicPerson) }}

Astro Now

{{ person }}’s House-o-Clock

Your personal 24-hour rhythm through the twelve houses.

Current house

House {{ currentHouse }}

☀️ {{ skyClock.sun.sign }} 🌙 {{ skyClock.moon.sign }}

Astro Now

Build the first House-o-Clock

Add birth details to calculate and save a personal 24-hour house rhythm on this device.

Returning on a new device? Verify your email to restore your private backup.

Explore Astro Now

Meet the rhythm behind your House-o-Clock.

See how your chart becomes a living 24-hour map, and discover the ideas that make Astro Now different.

See the overview

Welcome back

Restore your Astro Now

Enter the email connected to your cloud backup. We’ll send a quick code, then restore your people and profile on this device.

{{ cloudRestoreMessage }}

{{ formMode === 'edit' ? 'Person settings' : 'New chart' }}

{{ formMode === 'edit' ? `Edit ${person}` : 'Add a person' }}

Birthplace establishes the natal timezone. Add any places this person lives to view their clock locally.

Already have a cloud backup?

Use your email to restore your House-o-Clock on a new phone or browser.

Add a shared public chart

Search a public name or handle. Their shared birth-chart inputs become a local copy in your library—never a record you manage for them.

Searching public profiles…

{{ formError }}

Your first clock is ready

Keep it safe, if you’d like.

Your chart is saved on this device now. A one-time $10 gift can also create a verified cloud backup, so you can recover it if browser data is cleared or you move to another device.

☁ Cloud backup

Private, email-verified storage and future sharing tools. You can explore your clock locally first—there’s no pressure.

Giving Supporter

Thank you for being here.

Your support is helping make Astro Now durable and independent.

Your lifetime support

${{ profileTotalGiving.toLocaleString() }} given

×{{ block.multiplier.toLocaleString() }}

{{ denomination.label }}

Next intended gift: {{ profileNextIntendedGiftLabel }}

Thank you for helping build Astro Now.

Keep Astro Now alive

{{ hasProfileGiven ? 'Thank you, Giving Supporter.' : 'Thank you for being here.' }}

A gift helps turn this human project into something durable. It opens cloud backup and social publishing when those services launch.

Your gift ($10 minimum)

$

Human effort supported

{{ effortLabel }}

×{{ block.multiplier.toLocaleString() }}

{{ denomination.label }}

{{ givingEncouragement(normalizedGiftAmount) }}

✓ Verified profile email

{{ mainProfile.email }} is your shared support identity. Manage it in Profile.

{{ mainProfile.referrer.slice(0, 1) }}

Referred by

{{ mainProfile.referrer }} {{ mainProfile.referrerProfile.handle }} #{{ referralShortId(mainProfile.referrerProfile) }}

Bitcoin gift

Give ${{ normalizedGiftAmount }} {{ gift.frequency }}

Scan to fill the quoted Bitcoin amount, or switch to a bare address.

{{ activeGift?.expectedSats?.toLocaleString() }} sats · {{ quotedBitcoinAmount }} BTC

Quoted at ${{ Math.round(activeGift.quotePriceUsd).toLocaleString() }} / BTC

{{ bitcoinAddress }}

New to Bitcoin? Muun, Cash App, or Venmo can help you get started.

Thank you

{{ giftHasArrived ? 'Gift Arrived! ✨' : 'We’re checking for your gift.' }}

{{ giftHasArrived ? 'We found a matching Bitcoin transaction. Thank you for helping Astro Now grow.' : giftWatchElapsedSeconds < 60 ? 'Looking for your wallet broadcast now. This usually appears quickly, but can take a minute.' : 'No gift has arrived yet. You can safely close this and return when your wallet has finished sending.' }}

{{ giftHasArrived ? (activeGift?.confidence?.label || 'Gift Arrived') : 'Checking your gift' }}

{{ giftWatchElapsedLabel }}

${{ giftHistoricalUsd(activeGift).toLocaleString() }} received · {{ confirmationLabel(activeGift.transaction.confirmations) }}

{{ giftWatchStatus }}

Your local profile

Profile

This is the one identity connected to your support and future cloud features.

Profile photo{{ profileDraftInitials }}

Email

Verified

Your one email identity for support and future cloud features.

{{ emailVerificationMessage }}

Person who referred you (optional)

{{ mainProfile.referrer.slice(0, 1) }}

{{ mainProfile.referrer }} {{ mainProfile.referrerProfile.handle }} #{{ referralShortId(mainProfile.referrerProfile) }}

{{ hasProfileGiven ? 'Giving Supporter' : 'Your giving' }}

${{ profileTotalGiving.toLocaleString() }} given

{{ profileEffortLabel }}

×{{ block.multiplier.toLocaleString() }}

{{ denomination.label }}

Your confirmed gifts will appear here.

Gifts given

{{ profileGivingCount }} {{ profileGivingCount === 1 ? 'time' : 'times' }}

Giving plan

{{ activeGivingPlanLabel }}

No active plan

Your next intended gift is {{ profileNextIntendedGiftLabel || 'scheduled' }}.

Lifetime cloud backups

Unlocked for Giving Supporters at launch, along with future Social Sharing Features.

{{ cloudBackupMessage }}

{{ legacyPlayGiftCount }} legacy play gift{{ legacyPlayGiftCount === 1 ? '' : 's' }} remain only on this device. They do not affect confirmed totals.

Share your Astro Now profile

Choose how people find you when they want to credit a referral.

{{ profileDraftInitials }}

{{ profileDraft.name || 'Your name' }}

{{ profileDraft.handle || '@your-handle' }}

Your share link

{{ profileShareLink }}

Referral ID · #{{ referralShortId({ shareId: profileDraft.referral.shareId }) }}

Sharing stats

{{ profileReferralStats.linkVisits }}

Link visits

{{ profileReferralStats.referredGifts }}

Confirmed gifts

${{ profileReferralTotalShareUsd.toLocaleString() }}

Total share at gift time

${{ profileReferralPendingLiveUsd.toLocaleString() }}

{{ profileReferralPendingBtc.toFixed(8) }} BTC

Pending to share

Bitcoin address for referral gifts

When referral networking is connected, this address can receive a 50/50 share of gifts from people you refer.

Enter a valid Bitcoin mainnet address: bc1…, 1…, or 3…

✓ Bitcoin address format looks good.

New to Bitcoin? Muun Wallet is a simple, reliable place to get started.

Your rhythm here

Private, lightweight usage totals for this browser.

Local first

{{ usageAllTime.activeDays }}

Days

{{ usageAllTime.sessions }}

Sessions

{{ formatUsageMinutes(usageAllTime.activeMinutes) }}

Active time

This month: {{ usageThisMonth.activeDays }} active day{{ usageThisMonth.activeDays === 1 ? '' : 's' }} · {{ formatUsageMinutes(usageThisMonth.activeMinutes) }}.

Cloud access

A verified email adds this browser to your private cloud account.

Connected

This device is local only

Verify your email in the Profile tab whenever you want to reconnect cloud access.

{{ accessMessage }}

Private alpha view

Giving Dashboard

A clear ledger for gifts in and future Shared Gift Disbursements.

Confirmed gifts

{{ dashboardConfirmedGifts.length }}

Gift history

${{ dashboardConfirmedUsd.toLocaleString() }}

fixed at gift time

Bitcoin received

{{ dashboardConfirmedSats.toLocaleString() }}

sats across confirmed gifts

Giver & timeGiftStatusMatchBitcoin receivedControls

{{ gift.ownerName || 'Unnamed giver' }}

{{ gift.ownerEmail || 'No email stored' }}

{{ formatGiftDate(gift.createdAt) }}

${{ gift.intendedUsd }} {{ gift.frequency }}

{{ gift.expectedSats?.toLocaleString() || '—' }} sats quoted · {{ gift.id.slice(0, 8) }}

{{ gift.archivedAt ? 'Archived' : giftStatusLabel(gift.status) }}

Claimed {{ formatGiftDate(gift.sentAt) }}

{{ gift.confidence?.label || 'Waiting for a browser-observed match' }}

{{ gift.confidence.total }}% match confidence

No Gift Arrived yet

No gifts match these filters.

Pending to share

${{ dashboardPendingShareUsd.toLocaleString() }}

{{ dashboardPendingShareBtc.toFixed(8) }} BTC

Share credits

{{ givingDashboardCredits.length }}

ready for future manual disbursement

RecipientGiftShare at gift timePending BitcoinCreated

{{ credit.recipientName }}

{{ credit.recipientHandle ? '@' + credit.recipientHandle : credit.shareId }}

${{ credit.giftIntendedUsd.toLocaleString() }} gift${{ Number(credit.referrerUsdAtGift || 0).toLocaleString() }}

{{ (Number(credit.referrerSats || 0) / 100000000).toFixed(8) }} BTC

{{ Number(credit.referrerSats || 0).toLocaleString() }} sats

{{ formatGiftDate(credit.createdAt) }}
No referral share credits yet.

Private alpha studio

Invite contacts

A thoughtful, private place to prepare the people Astro Now may invite. No email is sent from this view yet.

People prepared

{{ outreachContacts.length }}

Ready to invite

{{ outreachReadyCount }}

Contact routes

{{ outreachContactableCount }}

direct or representative email

{{ outreachError }}

Opening the private contact studio…

Your invite constellation starts here.

Paste a prepared JSON record or add someone by hand. Nothing is sent until the later outreach phase.

{{ contact.displayName.slice(0, 1) }}

{{ contact.displayName }}

{{ contact.outreach?.status || 'research' }}

{{ contact.fullName }}

{{ contact.roles?.join(' · ') || 'Invite contact' }}

{{ zodiacLabel(contact) }}{{ contact.birth?.place || 'Birthplace pending' }}
{{ social.label }} {{ social.followers }}Social details coming soon

{{ preferredOutreachEmail(contact) || contact.outreach?.agentEmail || 'No email yet' }}

Open →
{{ (outreachDraft.displayName || '?').slice(0, 1) }}

Invite contact · {{ outreachEditingSection === 'all' ? 'full record' : outreachEditingSection }}

{{ outreachDraft.displayName || 'New contact' }}

Images are reduced to a 384px local copy before R2 saves them.

Identity

Contact & approach

Representation & projects

Research notes

Birth & location

Social snapshot

{{ network.label }}

Media & financial context

{{ outreachEditorError }}

{{ outreachDraft.displayName.slice(0, 1) }}

Invite contact

{{ outreachDraft.displayName }}

A quick, readable record. Open any module to update it.

{{ (opportunityContact?.displayName || 'A').slice(0, 1) }}

Astro Now · shared opportunity

{{ opportunityContact?.displayName || 'Your' }} opportunity model

A transparent estimate based on observed social reach and adjustable assumptions.

Potential shared value

{{ formatOpportunityUsd(opportunityValues(opportunityContact, opportunityDraft).lifetimeShareUsd) }}

One-time plus the selected recurring-year model.

Possible giving support

{{ formatOpportunityUsd(opportunityValues(opportunityContact, opportunityDraft).totalGiftUsd) }}

{{ formatOpportunityPeople(opportunityValues(opportunityContact, opportunityDraft).givingPeople) }} potential giving supporters.

Observed reach

{{ formatOutreachFollowers(outreachFollowerTotal(opportunityContact)) }}

Across {{ outreachSocialPreview(opportunityContact, 8).length || 0 }} recorded social channels.

Adjust assumptions

These are discussion inputs, not a forecast or guarantee.

{{ opportunityMessage }}

Fast local ingestion · schema v1

Paste an invite contact

Paste one JSON or JSON5 object. Comments, unquoted keys, and trailing commas are welcome; it opens for review before saving to R2.

{{ outreachImportError }}