diff --git a/contents/handbook/engineering/posthog-com/cool-tech-jobs.mdx b/contents/handbook/engineering/posthog-com/cool-tech-jobs.mdx
index 01c6b1811f88..8b530a93df15 100644
--- a/contents/handbook/engineering/posthog-com/cool-tech-jobs.mdx
+++ b/contents/handbook/engineering/posthog-com/cool-tech-jobs.mdx
@@ -2,17 +2,29 @@
title: Managing cool tech jobs
---
-### Create a company/jobs:
+## Create a company/jobs:
-- Login to PostHog.com as a moderator
-- Navigate to `/cool-tech-jobs`
-- Click “Add a company”
-- Fill out the fields in the side modal
-- Click Create company
+### Non-moderator flow
+
+- Visit `/cool-tech-jobs`
+- Click "Apply to get your jobs listed here." If you're not already signed in, you'll be prompted to sign in
+- Read the disclaimer and click next
+- Fill out the required fields (non-moderators have an additional field - "Why is your company cool?")
+- Click "Submit application"
+- A message is fired off in the `#cool-tech-jobs` Slack channel with the details of the application
+- A moderator approves and publishes the company from `/cool-tech-jobs`
+
+### Moderator flow
+
+- Visit `/cool-tech-jobs`
+- Click "Add a company"
+- From here, you can either continue with a pending company (one that has a pending application) or create a company from scratch
+- Fill out the required fields. If continuing from a pending company, verify the company details are correct before continuing
+- Click "Publish company"
-When a company is created, its jobs are automatically scraped based on the job board URL/slug provided. If no jobs are found, the company doesn’t appear on `/cool-tech-jobs` (unless you’re a moderator, in which case it will appear semi-transparent).
+When a company is created, its jobs are automatically scraped based on the job board URL/slug provided. If no jobs are found, the company is still created (appears semi-transparent for moderators), but a warning message appears that suggests verifying the job board URL.
-### Edit a company
+## Edit a company
- Login to PostHog.com as a moderator
- Navigate to `/cool-tech-jobs`
@@ -22,7 +34,7 @@ When a company is created, its jobs are automatically scraped based on the job b
Jobs will be re-scraped when a company is edited.
-### Delete a company
+## Delete a company
- Login to PostHog.com as a moderator
- Navigate to `/cool-tech-jobs`
@@ -31,7 +43,7 @@ Jobs will be re-scraped when a company is edited.
All jobs associated with the deleted company will be deleted along with the original company record.
-### Company fields
+## Company fields
- **Company name**
- **Company website URL** - Used for the “Learn more” link
@@ -43,6 +55,6 @@ All jobs associated with the deleted company will be deleted along with the orig
Unless required conditionally (job board URL/slug), every company field is required.
-### Scraping
+## Scraping
Jobs are scraped hourly based on the provided job board URL/slug. Jobs are individually checked for freshness hourly. If a job URL 404s, it is deleted.
diff --git a/src/hooks/useCompanies.ts b/src/hooks/useCompanies.ts
index 7a84bcba308a..d895b5222a2b 100644
--- a/src/hooks/useCompanies.ts
+++ b/src/hooks/useCompanies.ts
@@ -92,6 +92,7 @@ export type Company = {
publishedAt: string
createdAt: string
updatedAt: string
+ jobBoardURL?: string
}
}
diff --git a/src/pages/cool-tech-jobs.tsx b/src/pages/cool-tech-jobs.tsx
index e5cfe98145fb..4304db286597 100644
--- a/src/pages/cool-tech-jobs.tsx
+++ b/src/pages/cool-tech-jobs.tsx
@@ -5,7 +5,16 @@ import useCompanies, { Company, Filters as FiltersType } from 'hooks/useCompanie
import Layout from 'components/Layout'
import { layoutLogic } from 'logic/layoutLogic'
import { useValues } from 'kea'
-import { IconChevronDown, IconArrowUpRight, IconX, IconPencil, IconTrash, IconShield } from '@posthog/icons'
+import {
+ IconChevronDown,
+ IconArrowUpRight,
+ IconX,
+ IconPencil,
+ IconTrash,
+ IconShield,
+ IconArrowLeft,
+ IconArrowRight,
+} from '@posthog/icons'
import Link from 'components/Link'
import dayjs from 'dayjs'
import relativeTime from 'dayjs/plugin/relativeTime'
@@ -27,6 +36,7 @@ import Spinner from 'components/Spinner'
import { useUser } from 'hooks/useUser'
import uploadImage from 'components/Squeak/util/uploadImage'
import { debounce } from 'lodash'
+import { Authentication } from 'components/Squeak'
dayjs.extend(relativeTime)
const toggleFilters = [
@@ -80,7 +90,7 @@ const Perks = ({ company, className }: { company: Company; className?: string })
return (
+ Our job board is designed to help product engineers (and other tech-adjacent candidates) find companies
+ that have a similar vibe to PostHog – where employees are empowered to do their best work.
+
+
+ To qualify to have your open roles listed, you'll need to meet the following criteria:
+
+
+
+ At least one unique perk listed in our filters
+ {' '}
+ (Have a great perk we don't list? Let us know!)
+
+
+ A public job board (like Ashby or Greenhouse) so we can automatically keep our job board up to date
+
+
+ Actually be a cool tech company where product engineers enjoy working!
+
+
+
+ Next
+
+
+
+ )
+}
+
+const Auth = () => {
+ return (
+ <>
+
+
+ Note: PostHog.com authentication is separate from your PostHog app.
+
+
+
+ We suggest signing up with your personal email. Soon you'll be able to link your PostHog app
+ account.
+