Candidates apply without leaving dialectica.io.
Dialectica's jobs lived in Greenhouse, and candidates left the site to apply. I built a job board and application flow on Webflow Cloud, in Dialectica's own design, with Greenhouse still running recruitment.
- Client
- Dialectica · Financial data and intelligence
- Role
- Technical direction, Greenhouse API integration, Application design, Astro and React development, Webflow Code Component, Conversion tracking
- Stack
- Webflow Cloud, Astro, React, Tailwind CSS, Greenhouse API

They asked for a careers section that kept candidates on dialectica.io
They needed a job board and application flow on Webflow Cloud, fed live by Greenhouse.
In this case
Dialectica manages recruitment in Greenhouse. Their careers page lived in the Webflow site, but to see the jobs and apply, candidates were sent to Greenhouse’s own pages. They wanted the whole journey on dialectica.io: browse, search, open a role and apply.
Greenhouse had to stay where the team runs recruitment. So the question was how to keep it as the source of the jobs while the site owned everything candidates see.
Two shortcuts I didn’t take
Sending candidates to Greenhouse was the simplest option, and it was exactly what they wanted to stop. The other was copying the jobs into the Webflow CMS. That would have meant a second copy of every job, and a sync between the two that could fall behind.
I’d built Dialectica Origin for them on Webflow Cloud a few months before, so the pattern was already there: an app on the same domain, next to the Webflow site. Before designing anything, I checked that the Greenhouse API could cover the listings, the job details, the application questions and the submission itself. It could.
The job board
The board lives at dialectica.io/careers/jobs, built with Astro and React on Webflow Cloud. Jobs come live from Greenhouse. Pages are rendered on the server, so search engines can read every job, and each one has its own structured data.
Search is smarter than it looks. Typing “design in united states” finds design roles in the US, because the search splits the words and checks them against the title, the team and the location. Results appear as you type.
The application form asks what Greenhouse asks for each role: CV, education and employment history with as many entries as needed, and a location field with autocomplete. Applications go straight into Greenhouse.
Looking like the rest of the site
Dialectica sent me a file with roughly what they had in mind. I designed the board from it, using their design system, and rebuilt the components in Tailwind so they match the main site. Candidates shouldn’t feel they’ve left dialectica.io, because they haven’t.
Live jobs on the Webflow page
The main Careers page stays in Webflow, where the team edits it. To bring live jobs into it, I built a Webflow Code Component: a React component the team can place in the Webflow Designer like any other element. The page heading also shows the live number of open positions.
Under three weeks
The board went live in under three weeks. Nothing changed for Dialectica’s recruitment team: they still post jobs and manage candidates in Greenhouse, and the site picks it up.
I’m still on a retainer with Dialectica. Since launch I’ve added conversion tracking for each job, so they can see which roles bring in applications.
Deadlines were always met without the back-and-forth that typically slows projects down.
What changed
Four things that are different now.
01
Apply without leaving the site
Candidates browse, search, open a role and apply on dialectica.io/careers/jobs.
02
Greenhouse stays in charge
The team posts jobs and manages candidates in Greenhouse. The site reads the jobs live and sends applications straight back.
03
Live jobs on the Webflow page
A Code Component brings the job search into the Careers page, which the team still edits in Webflow. The heading shows the live number of open roles.
04
Search that reads the whole query
"Design in united states" finds design roles in the US, as you type.
New website
