-            {answerItems.map((item, activityItemIdx) => (
+            {answerItems.map((item) => (
               
                 
                   
diff --git a/web/components/bets-list.tsx b/web/components/bets-list.tsx
index a4e90c35..d227ac88 100644
--- a/web/components/bets-list.tsx
+++ b/web/components/bets-list.tsx
@@ -138,9 +138,8 @@ export function BetsList(props: { user: User; hideBetsBefore?: number }) {
       return !hasSoldAll
     })
 
-  const [settled, unsettled] = partition(
-    contracts,
-    (c) => c.isResolved || contractsMetrics[c.id].invested === 0
+  const unsettled = contracts.filter(
+    (c) => !c.isResolved && contractsMetrics[c.id].invested !== 0
   )
 
   const currentInvested = sumBy(
@@ -261,7 +260,7 @@ function ContractBets(props: {
 
   const isBinary = outcomeType === 'BINARY'
 
-  const { payout, profit, profitPercent, invested } = getContractBetMetrics(
+  const { payout, profit, profitPercent } = getContractBetMetrics(
     contract,
     bets
   )
@@ -657,7 +656,6 @@ function SellButton(props: { contract: Contract; bet: Bet }) {
 
   return (
     
 txn.amount)
diff --git a/web/components/choices-toggle-group.tsx b/web/components/choices-toggle-group.tsx
index f974d72f..61c4e4fd 100644
--- a/web/components/choices-toggle-group.tsx
+++ b/web/components/choices-toggle-group.tsx
@@ -24,13 +24,12 @@ export function ChoicesToggleGroup(props: {
      null}
+      onChange={setChoice}
     >
       {Object.keys(choicesMap).map((choiceKey) => (
          setChoice(choicesMap[choiceKey])}
           className={({ active }) =>
             clsx(
               active ? 'ring-2 ring-indigo-500 ring-offset-2' : '',
diff --git a/web/components/confirmation-button.tsx b/web/components/confirmation-button.tsx
index e895467a..57a7bafe 100644
--- a/web/components/confirmation-button.tsx
+++ b/web/components/confirmation-button.tsx
@@ -5,7 +5,6 @@ import { Modal } from './layout/modal'
 import { Row } from './layout/row'
 
 export function ConfirmationButton(props: {
-  id: string
   openModalBtn: {
     label: string
     icon?: JSX.Element
@@ -22,7 +21,7 @@ export function ConfirmationButton(props: {
   onSubmit: () => void
   children: ReactNode
 }) {
-  const { id, openModalBtn, cancelBtn, submitBtn, onSubmit, children } = props
+  const { openModalBtn, cancelBtn, submitBtn, onSubmit, children } = props
 
   const [open, setOpen] = useState(false)
 
@@ -67,7 +66,6 @@ export function ResolveConfirmationButton(props: {
     props
   return (
     
@@ -257,7 +257,7 @@ function QuickOutcomeView(props: {
   // If there's a preview prob, display that instead of the current prob
   const override =
     previewProb === undefined ? undefined : formatPercent(previewProb)
-  const textColor = `text-${getColor(contract, previewProb)}`
+  const textColor = `text-${getColor(contract)}`
 
   let display: string | undefined
   switch (outcomeType) {
@@ -306,7 +306,7 @@ function getNumericScale(contract: NumericContract) {
   return (ev - min) / (max - min)
 }
 
-export function getColor(contract: Contract, previewProb?: number) {
+export function getColor(contract: Contract) {
   // TODO: Try injecting a gradient here
   // return 'primary'
   const { resolution } = contract
diff --git a/web/components/feed-create.tsx b/web/components/feed-create.tsx
index 98b56d69..0a9b77e3 100644
--- a/web/components/feed-create.tsx
+++ b/web/components/feed-create.tsx
@@ -1,16 +1,10 @@
-import { sample } from 'lodash'
-import { SparklesIcon, XIcon } from '@heroicons/react/solid'
-import { Avatar } from './avatar'
-import { useEffect, useRef, useState } from 'react'
+import { SparklesIcon } from '@heroicons/react/solid'
 import { Spacer } from './layout/spacer'
-import { NewContract } from '../pages/create'
-import { firebaseLogin, User } from 'web/lib/firebase/users'
+import { firebaseLogin } from 'web/lib/firebase/users'
 import { ContractsGrid } from './contract/contracts-list'
-import { Contract, MAX_QUESTION_LENGTH } from 'common/contract'
+import { Contract } from 'common/contract'
 import { Col } from './layout/col'
-import clsx from 'clsx'
 import { Row } from './layout/row'
-import { ENV_CONFIG } from '../../common/envs/constants'
 import { SiteLink } from './site-link'
 import { formatMoney } from 'common/util/format'
 
@@ -67,90 +61,3 @@ export function FeedPromo(props: { hotContracts: Contract[] }) {
     >
   )
 }
-
-export default function FeedCreate(props: {
-  user?: User
-  tag?: string
-  placeholder?: string
-  className?: string
-}) {
-  const { user, tag, className } = props
-  const [question, setQuestion] = useState('')
-  const [isExpanded, setIsExpanded] = useState(false)
-  const inputRef = useRef()
-
-  // Rotate through a new placeholder each day
-  // Easter egg idea: click your own name to shuffle the placeholder
-  // const daysSinceEpoch = Math.floor(Date.now() / 1000 / 60 / 60 / 24)
-
-  // Take care not to produce a different placeholder on the server and client
-  const [defaultPlaceholder, setDefaultPlaceholder] = useState('')
-  useEffect(() => {
-    setDefaultPlaceholder(`e.g. ${sample(ENV_CONFIG.newQuestionPlaceholders)}`)
-  }, [])
-
-  const placeholder = props.placeholder ?? defaultPlaceholder
-
-  return (
-     {
-        !isExpanded && inputRef.current?.focus()
-      }}
-    >
-      
-        
-
-        
-          
-            Ask a question... 
-            {isExpanded && (
-              
-            )}
-          
-          
-      
-
-      {/* Hide component instead of deleting, so edits to NewContract don't get lost */}
-      
-        
-      
-
-      {/* Show a fake "Create Market" button, which gets replaced with the NewContract one*/}
-      {!isExpanded && (
-        
-          
-        
-      )}
-    
         
       
diff --git a/web/pages/landing-page.tsx b/web/pages/landing-page.tsx
index dd9c0b09..860ccfb2 100644
--- a/web/pages/landing-page.tsx
+++ b/web/pages/landing-page.tsx
@@ -8,19 +8,14 @@ import {
 } from '@heroicons/react/outline'
 
 import { firebaseLogin } from 'web/lib/firebase/users'
-import { ContractsGrid } from 'web/components/contract/contracts-list'
 import { Col } from 'web/components/layout/col'
 import Link from 'next/link'
-import { Contract } from 'web/lib/firebase/contracts'
-
-export default function LandingPage(props: { hotContracts: Contract[] }) {
-  const { hotContracts } = props
 
+export default function LandingPage() {
   return (
     
       
       
-      {/*  */}
     
   )
 }
@@ -149,20 +144,3 @@ function FeaturesSection() {
      
   )
 }
-
-function ExploreMarketsSection(props: { hotContracts: Contract[] }) {
-  const { hotContracts } = props
-  return (
-    
-      
-        Today's top markets
-      
-
-      
 {}}
-        hasMore={false}
-      />
-    
-  )
-}
diff --git a/web/pages/leaderboards.tsx b/web/pages/leaderboards.tsx
index f2159b80..1d76ec45 100644
--- a/web/pages/leaderboards.tsx
+++ b/web/pages/leaderboards.tsx
@@ -8,8 +8,8 @@ import { fromPropz, usePropz } from 'web/hooks/use-propz'
 export const getStaticProps = fromPropz(getStaticPropz)
 export async function getStaticPropz() {
   const [topTraders, topCreators] = await Promise.all([
-    getTopTraders().catch((_) => {}),
-    getTopCreators().catch((_) => {}),
+    getTopTraders().catch(() => {}),
+    getTopCreators().catch(() => {}),
   ])
 
   return {
diff --git a/web/pages/make-predictions.tsx b/web/pages/make-predictions.tsx
index 8b35dd16..ce694278 100644
--- a/web/pages/make-predictions.tsx
+++ b/web/pages/make-predictions.tsx
@@ -290,13 +290,3 @@ ${TEST_VALUE}
     
   )
 }
-
-// Given a date string like '2022-04-02',
-// return the time just before midnight on that date (in the user's local time), as millis since epoch
-function dateToMillis(date: string) {
-  return dayjs(date)
-    .set('hour', 23)
-    .set('minute', 59)
-    .set('second', 59)
-    .valueOf()
-}
diff --git a/web/pages/notifications.tsx b/web/pages/notifications.tsx
index 8130ed22..02fd9d73 100644
--- a/web/pages/notifications.tsx
+++ b/web/pages/notifications.tsx
@@ -31,9 +31,7 @@ import { Linkify } from 'web/components/linkify'
 import {
   BinaryOutcomeLabel,
   CancelLabel,
-  FreeResponseOutcomeLabel,
   MultiLabel,
-  OutcomeLabel,
   ProbPercentLabel,
 } from 'web/components/outcome-label'
 import {
@@ -44,7 +42,7 @@ import {
 import { getContractFromId } from 'web/lib/firebase/contracts'
 import { CheckIcon, XIcon } from '@heroicons/react/outline'
 import toast from 'react-hot-toast'
-import { formatMoney, formatPercent } from 'common/util/format'
+import { formatMoney } from 'common/util/format'
 
 export default function Notifications() {
   const user = useUser()
@@ -184,7 +182,7 @@ function NotificationGroupItem(props: {
   className?: string
 }) {
   const { notificationGroup, className } = props
-  const { sourceContractId, notifications, timePeriod } = notificationGroup
+  const { sourceContractId, notifications } = notificationGroup
   const {
     sourceContractTitle,
     sourceContractSlug,
diff --git a/web/pages/stats.tsx b/web/pages/stats.tsx
index a4e2790d..c73b6821 100644
--- a/web/pages/stats.tsx
+++ b/web/pages/stats.tsx
@@ -1,6 +1,5 @@
 import dayjs from 'dayjs'
 import { zip, uniq, sumBy, concat, countBy, sortBy, sum } from 'lodash'
-import { IS_PRIVATE_MANIFOLD } from 'common/envs/constants'
 import {
   DailyCountChart,
   DailyPercentChart,