Senior JavaScript Developer
Description
About Closer To Truth:
- Closer To Truth is a long-running public-television and online series about the cosmos, consciousness, meaning and God.
- It features interviews with leading scientists and philosophers, published across four websites.
Role Overview:
- Closer To Truth is looking for a senior JavaScript developer to own its Next.js and Sanity sites and to lead the build of CTT 3.0: a new version of closertotruth.com that moves from WordPress to Astro and Sanity.
- The role involves maintenance of existing Next.js sites and the backup system alongside the build of the new site.
Ownership Responsibilities:
- closertotruth.com (CTT 3.0): the new main site, to be built using Astro, Sanity, TypeScript, and Vercel.
- loc.closertotruth.com: Landscape of Consciousness, a searchable map of theories of consciousness, with articles, videos and Ask AI using Next.js, React, TypeScript, Tailwind CSS, Sanity, Vercel, JSON-LD, and sitemaps.
- viz.closertotruth.com: interactive visual maps, embedded across the sites using Next.js, React, TypeScript, and Sanity.
- chatwidget.closertotruth.com: the Ask AI chat assistant using Next.js, React, TypeScript, Tailwind CSS, Sanity, and an LLM API with streaming.
- Backup system: daily Sanity content backups and monthly code backups to Amazon S3, with email reports using Ubuntu, systemd, nginx, Bash, AWS CLI and S3, and Node.js.
- Video library tools: internal tools that upload videos to YouTube and link them into the main site using Python, Flask, and the YouTube Data API.
Maintenance Responsibilities:
- Maintain and enhance LoC, viz and the Ask AI chat widget, including Sanity schemas and content models.
- Look after the backup system: check the run reports, fix failed runs, keep access keys current, and restore from backup when needed.
- Report progress through written, asynchronous handoffs.
CTT 3.0 Build Responsibilities:
- Build the new closertotruth.com in Astro and Sanity, deployed on Vercel.
- Make sure all content is server-rendered or prerendered as static HTML.
- Migrate the content from WordPress/MySQL into Sanity, keeping relationships, images and SEO metadata intact.
- Map old URLs to new ones and set up 301 redirects.
- Render and cache thousands of pages efficiently.
- Embed YouTube videos and work with the YouTube Data API.
- Embed the Ask AI chat widget and the viz maps in the new site.
- Add search across the full catalog.
- Implement structured data, technical SEO, and AI search and citation support.
- Take over the video library tools and point them at Sanity.
- Build authentication and a member database, and migrate user accounts.
Mandatory Requirements:
- At least 5 years of professional web development experience, including leading a site build from the ground up.
- Next.js, React, TypeScript and Node.js.
- Production experience with Sanity.
- Git and GitHub, and deploying on Vercel.
- Server-side rendering and static generation.
- Experience migrating content from WordPress or another CMS into a headless CMS.
- Comfortable working from a coded design system and written specs.
- Fluent written English.
- At least 3 to 4 hours of overlap with US Central Time, ideally mornings.
Preferred Qualifications:
- Astro.
- Structured data and technical SEO.
- AI search and citation work.
- URL mapping and 301 redirects for site migrations.
- Large content catalogs or media archives, including site search.
- YouTube embedding and the YouTube Data API.
- LLM API integration.
- Linux, systemd, nginx, Bash, AWS CLI and S3.
- Python and Flask.
- WordPress data access.
- Authentication and user account migration.
Engagement and Working Conditions:
- Engagement: a contract for the CTT 3.0 build, plus a monthly retainer or block of hours.
- Hours: maintenance across all Closer To Truth systems has needed up to 30 hours a month so far.
- Location: remote, with at least 3 to 4 hours of overlap with US Central Time.
- Start: maintenance starts with a two-week handover from the current maintainer.
- Contract: an NDA before access to the codebase or internal materials, and a contractor agreement and IP assignment to Closer To Truth.
Location: Remote - GMT-07:00 to GMT-05:00
Skills required for this job:
- Astro
- Authentication
- Bash
- Flask
- Git
- GitHub
- JavaScript
- LLM/AI API integration
- Linux operating system
- Next.js
- Node.js
- Python
- React.js
- Server-side rendering (SSR)
- Static site generation (SSG)
- Structured data
- Technical SEO
- TypeScript
- Vercel
- Web development
- WordPress
- YouTube API