u/easybits_ai

My friend's recruiter was drowning in CVs of every format – I built her a Slack assistant that summarizes them on the spot (n8n template)

My friend's recruiter was drowning in CVs of every format – I built her a Slack assistant that summarizes them on the spot (n8n template)

https://preview.redd.it/1ammyooxa32h1.png?width=1920&format=png&auto=webp&s=809bd025454a87575755b494c74cb3f060c2207d

👋 Hey VibeCoders Community,

You might remember Mike – friend of mine who runs a small company. Most of the automations I've built over the last months have been for him and his finance colleague Sarah (duplicate invoice detector, Slack approvals, invoice classification, the whole thing).

This time it wasn't a finance problem. Mike called me last week because the company's going through a bigger hiring phase right now, and he has exactly one recruiter – let's call her Lisa – who's drowning.

The problem:

Lisa goes through dozens of CVs every day. The annoying part isn't reading them – it's that every single CV looks different. Different layouts, different sections, different orders. Some are PDFs, some are screenshots, some are exports from LinkedIn. Lisa already knows exactly what she cares about for the first-pass screen:

  • Last 3 roles
  • Last 3 educations
  • Top 3 skills
  • Location
  • Years of experience
  • LinkedIn link (if she wants to dig deeper)

But to extract those 6 things from a CV that's structured however the candidate felt like structuring it, she has to read the whole thing every time. Multiply by 30 a day. That's hours.

Mike asked: "Can you build her something that just shows her those 6 things, in the same format, every time?"

The build:

I wanted Lisa to be able to use this from where she already works – which is mostly Slack. So the flow ended up being:

  1. Lisa drops a CV (PDF, PNG, or JPG) into a dedicated Slack channel
  2. Bot picks it up, runs it through the easybits Extractor with 8 structured fields
  3. Bot posts a clean summary back in the thread within ~5 seconds: name, location, years of experience, top 3 skills, last 3 roles with dates, education, salary expectations (if mentioned), LinkedIn
  4. Below the summary, an action card with two buttons: 💾 Save to Sheet or Dismiss
  5. Save → appends a row to a Google Sheet with all the fields split into discrete columns (sortable, filterable). Dismiss → just removes the card

The Sheet is a placeholder for now – Mike's actually still in talks with different ATS providers, so once they pick one I'll just swap the Sheets node for whatever API the ATS exposes. Same workflow shape, different endpoint.

What ended up being harder than I expected:

I had to split this into two workflows. Workflow A handles the trigger and posts the summary + card. Workflow B catches button clicks from the card and does the Sheet append. Same pattern as the Slack invoice approval I shared a while back — Slack interactivity needs its own webhook endpoint, and you can't have both a trigger and a webhook listener in the same workflow without conflicts.

The other annoying gotcha: the n8n Slack node has a bug right now where Block Kit payloads sometimes just don't render – you get the fallback text only ("Action menu") with no buttons. Worked around it by posting the action card via a direct HTTP call to chat.postMessage instead of using the Slack node. Documented this in the sticky notes so anyone running into it knows the fix.

Why CV screening fits extraction so well:

The interesting thing here is that this is exactly the kind of task that has historically been done with custom CV parsers or expensive ATS resume-parsing add-ons. But once you treat a CV as just another structured document, the easybits Extractor handles it the same way it handles invoices or contracts. 8 fields, description per field, return null when not present – same pattern I've been using all year.

The whole thing runs on the free plan since it's under 10 fields.

The templates:

Sticky notes cover the full setup – Slack app config, scopes, credentials, Sheet schema. Both workflows together take about 20 min to wire up if you've done a Slack integration before.

Curious if anyone else has built recruiter tooling in n8n – would love to hear what fields you found most useful, or if you've gone deeper into ATS integration than I have so far.

Best,
Felix

reddit.com
u/easybits_ai — 19 hours ago

My friend's recruiter was drowning in CVs of every format – I built her a Slack assistant that summarizes them on the spot (n8n template)

https://preview.redd.it/5fv8jllsa32h1.png?width=1920&format=png&auto=webp&s=3a0ea357250b7265f989270c3085eaabf87bf023

👋 Hey AiAutomations Community,

You might remember Mike – friend of mine who runs a small company. Most of the automations I've built over the last months have been for him and his finance colleague Sarah (duplicate invoice detector, Slack approvals, invoice classification, the whole thing).

This time it wasn't a finance problem. Mike called me last week because the company's going through a bigger hiring phase right now, and he has exactly one recruiter – let's call her Lisa – who's drowning.

The problem:

Lisa goes through dozens of CVs every day. The annoying part isn't reading them – it's that every single CV looks different. Different layouts, different sections, different orders. Some are PDFs, some are screenshots, some are exports from LinkedIn. Lisa already knows exactly what she cares about for the first-pass screen:

  • Last 3 roles
  • Last 3 educations
  • Top 3 skills
  • Location
  • Years of experience
  • LinkedIn link (if she wants to dig deeper)

But to extract those 6 things from a CV that's structured however the candidate felt like structuring it, she has to read the whole thing every time. Multiply by 30 a day. That's hours.

Mike asked: "Can you build her something that just shows her those 6 things, in the same format, every time?"

The build:

I wanted Lisa to be able to use this from where she already works – which is mostly Slack. So the flow ended up being:

  1. Lisa drops a CV (PDF, PNG, or JPG) into a dedicated Slack channel
  2. Bot picks it up, runs it through the easybits Extractor with 8 structured fields
  3. Bot posts a clean summary back in the thread within ~5 seconds: name, location, years of experience, top 3 skills, last 3 roles with dates, education, salary expectations (if mentioned), LinkedIn
  4. Below the summary, an action card with two buttons: 💾 Save to Sheet or Dismiss
  5. Save → appends a row to a Google Sheet with all the fields split into discrete columns (sortable, filterable). Dismiss → just removes the card

The Sheet is a placeholder for now – Mike's actually still in talks with different ATS providers, so once they pick one I'll just swap the Sheets node for whatever API the ATS exposes. Same workflow shape, different endpoint.

What ended up being harder than I expected:

I had to split this into two workflows. Workflow A handles the trigger and posts the summary + card. Workflow B catches button clicks from the card and does the Sheet append. Same pattern as the Slack invoice approval I shared a while back — Slack interactivity needs its own webhook endpoint, and you can't have both a trigger and a webhook listener in the same workflow without conflicts.

The other annoying gotcha: the n8n Slack node has a bug right now where Block Kit payloads sometimes just don't render – you get the fallback text only ("Action menu") with no buttons. Worked around it by posting the action card via a direct HTTP call to chat.postMessage instead of using the Slack node. Documented this in the sticky notes so anyone running into it knows the fix.

Why CV screening fits extraction so well:

The interesting thing here is that this is exactly the kind of task that has historically been done with custom CV parsers or expensive ATS resume-parsing add-ons. But once you treat a CV as just another structured document, the easybits Extractor handles it the same way it handles invoices or contracts. 8 fields, description per field, return null when not present – same pattern I've been using all year.

The whole thing runs on the free plan since it's under 10 fields.

The templates:

Sticky notes cover the full setup – Slack app config, scopes, credentials, Sheet schema. Both workflows together take about 20 min to wire up if you've done a Slack integration before.

Curious if anyone else has built recruiter tooling in n8n – would love to hear what fields you found most useful, or if you've gone deeper into ATS integration than I have so far.

Best,
Felix

reddit.com
u/easybits_ai — 19 hours ago
▲ 5 r/nocode+2 crossposts

My friend's recruiter was drowning in CVs of every format – I built her a Slack assistant that summarizes them on the spot (n8n template)

https://preview.redd.it/i6gpvnlq832h1.png?width=1920&format=png&auto=webp&s=1c5e1092f65122b1d29b3f425046822208a90751

👋 Hey n8n Community,

You might remember Mike – friend of mine who runs a small company. Most of the automations I've built over the last months have been for him and his finance colleague Sarah (duplicate invoice detector, Slack approvals, invoice classification, the whole thing).

This time it wasn't a finance problem. Mike called me last week because the company's going through a bigger hiring phase right now, and he has exactly one recruiter – let's call her Lisa – who's drowning.

The problem:

Lisa goes through dozens of CVs every day. The annoying part isn't reading them – it's that every single CV looks different. Different layouts, different sections, different orders. Some are PDFs, some are screenshots, some are exports from LinkedIn. Lisa already knows exactly what she cares about for the first-pass screen:

  • Last 3 roles
  • Last 3 educations
  • Top 3 skills
  • Location
  • Years of experience
  • LinkedIn link (if she wants to dig deeper)

But to extract those 6 things from a CV that's structured however the candidate felt like structuring it, she has to read the whole thing every time. Multiply by 30 a day. That's hours.

Mike asked: "Can you build her something that just shows her those 6 things, in the same format, every time?"

The build:

I wanted Lisa to be able to use this from where she already works – which is mostly Slack. So the flow ended up being:

  1. Lisa drops a CV (PDF, PNG, or JPG) into a dedicated Slack channel
  2. Bot picks it up, runs it through the easybits Extractor with 8 structured fields
  3. Bot posts a clean summary back in the thread within ~5 seconds: name, location, years of experience, top 3 skills, last 3 roles with dates, education, salary expectations (if mentioned), LinkedIn
  4. Below the summary, an action card with two buttons: 💾 Save to Sheet or Dismiss
  5. Save → appends a row to a Google Sheet with all the fields split into discrete columns (sortable, filterable). Dismiss → just removes the card

The Sheet is a placeholder for now – Mike's actually still in talks with different ATS providers, so once they pick one I'll just swap the Sheets node for whatever API the ATS exposes. Same workflow shape, different endpoint.

What ended up being harder than I expected:

I had to split this into two workflows. Workflow A handles the trigger and posts the summary + card. Workflow B catches button clicks from the card and does the Sheet append. Same pattern as the Slack invoice approval I shared a while back — Slack interactivity needs its own webhook endpoint, and you can't have both a trigger and a webhook listener in the same workflow without conflicts.

The other annoying gotcha: the n8n Slack node has a bug right now where Block Kit payloads sometimes just don't render – you get the fallback text only ("Action menu") with no buttons. Worked around it by posting the action card via a direct HTTP call to chat.postMessage instead of using the Slack node. Documented this in the sticky notes so anyone running into it knows the fix.

Why CV screening fits extraction so well:

The interesting thing here is that this is exactly the kind of task that has historically been done with custom CV parsers or expensive ATS resume-parsing add-ons. But once you treat a CV as just another structured document, the easybits Extractor handles it the same way it handles invoices or contracts. 8 fields, description per field, return null when not present – same pattern I've been using all year.

The whole thing runs on the free plan since it's under 10 fields.

The templates:

Sticky notes cover the full setup – Slack app config, scopes, credentials, Sheet schema. Both workflows together take about 20 min to wire up if you've done a Slack integration before.

Curious if anyone else has built recruiter tooling in n8n – would love to hear what fields you found most useful, or if you've gone deeper into ATS integration than I have so far.

Best,
Felix

reddit.com
u/easybits_ai — 19 hours ago

Built an n8n workflow that turns any booking confirmation email into a calendar event (flight, hotel, restaurant, etc.)

https://preview.redd.it/nrs8ncsx8x1h1.png?width=5550&format=png&auto=webp&s=90a6b954056f3580ad15b73270a601cbe9077f31

👋 Hey documentAutomation Community,

My CEO came back from a conference last week and asked me for help with a problem I bet a lot of you can relate to.

He attends a lot of events, which means his inbox gets flooded with booking confirmations – flights, hotels, restaurants, event tickets. And someone (usually him) has to manually add all of that to his calendar.

The kicker: he wanted these appointments in a separate calendar so his main schedule stays clean. Manually creating each event was eating up time that should've gone to actual work.

So I built this:

📥 How it works

  • You label any confirmation email in Gmail with "Events"
  • The workflow extracts date, time, location, confirmation number, vendor, and notes from both the email body and any PDF attachments
  • A calendar event lands in a dedicated "Auto-imported" Google Calendar with all the details and a link back to the original email
  • Non-confirmations (newsletters that got accidentally labeled) get flagged with a "Needs-Review" label and you get a notification email listing what was missing

🪄 What makes it work for any vendor

One easybits Extractor pipeline handles every format – Lufthansa, Booking.com, OpenTable, your dentist, DHL, whatever. No per-vendor parsing logic. The email body gets wrapped into a PDF and extracted in parallel with any PDF attachments, then the two results get merged (attachment data wins because the attached ticket is more authoritative than promotional email body text).

📦 Free workflow template + JSON

https://github.com/felix-sattler-easybits/n8n-workflows/tree/26772542fbbaf23d0a043517921d4d8ad50a471f/easybits-event-confirmation-to-calendar-workflow

Does anyone else have a similar problem with calendar clutter from business travel? Curious what other email-to-calendar use cases people are dealing with.

Best,
Felix

reddit.com
u/easybits_ai — 1 day ago
▲ 6 r/n8n+2 crossposts

I built a workflow that turns handwritten meeting notes into structured Google Docs – full video walkthrough

👋 Hey Community,

I met up with my friend Mike yesterday and noticed he was taking notes on a piece of paper. I do that too – writing things down by hand actually helps me remember them. But it also means I end up with a stack of papers on my desk that slowly turns into chaos. Apparently Mike's whole team has the same habit. They've got Jira, Notion, and other tools set up, but the offline notes keep getting lost on people's desks.

So I made him a deal: set up a dedicated email address inside the company – something like notes@mikescompany.com – and I'd build the rest.

This is what I shipped.

📝 What it does

Snap a photo of your whiteboard, notebook page, or napkin. Email it to the dedicated inbox. Within seconds you get a Google Doc back containing the meeting title, date, attendees, summary, action items, and a full reference transcription. No app to install, no UI to learn. If you can email a photo, you can use it.

🎥 What's in the video

The walkthrough covers how the workflow is wired up node by node, and ends with a live test run using a handwritten note I scribbled down – Gmail trigger fires, the Extractor pulls the data, the Google Doc gets built, and the confirmation email lands in my inbox within seconds. Easier to see it work than to describe it.

📦 The workflow

Full JSON, sticky notes, and setup guide on GitHub: https://github.com/felix-sattler-easybits/data-extraction-workflows/blob/main/easybits-meeting-notes-to-google-doc-workflow/Whiteboard_to_Meeting_Doc.json

The link is also in the video description if you want to pull it up while watching.

This is v1, and a few people asked under the last post how it handles really bad handwriting. I've run it on a handful of examples already and the results have been solid so far, but I'd love to push the limits more. So if you've got a photo of meeting notes that you think would break it – doctor handwriting, half-erased whiteboard, napkin scribbles, multiple languages, whatever – drop it in the comments or DM it to me. I'll run it through the workflow and post the result. Genuinely curious where the breaking point is.

Also still keen on broader feedback: what else would make this genuinely useful for your team?

Best,
Felix

youtu.be
u/easybits_ai — 1 day ago

Built an n8n workflow that turns any booking confirmation email into a calendar event (flight, hotel, restaurant, etc.)

https://preview.redd.it/zz059gqrjx0h1.png?width=5550&format=png&auto=webp&s=4c181fc4d389366c4d645d7135e6996ba060bba5

👋 Hey VibeCoders Community,

My CEO came back from a conference last week and asked me for help with a problem I bet a lot of you can relate to.

He attends a lot of events, which means his inbox gets flooded with booking confirmations – flights, hotels, restaurants, event tickets. And someone (usually him) has to manually add all of that to his calendar.

The kicker: he wanted these appointments in a separate calendar so his main schedule stays clean. Manually creating each event was eating up time that should've gone to actual work.

So I built this:

📥 How it works

  • You label any confirmation email in Gmail with "Events"
  • The workflow extracts date, time, location, confirmation number, vendor, and notes from both the email body and any PDF attachments
  • A calendar event lands in a dedicated "Auto-imported" Google Calendar with all the details and a link back to the original email
  • Non-confirmations (newsletters that got accidentally labeled) get flagged with a "Needs-Review" label and you get a notification email listing what was missing

🪄 What makes it work for any vendor

One easybits Extractor pipeline handles every format – Lufthansa, Booking.com, OpenTable, your dentist, DHL, whatever. No per-vendor parsing logic. The email body gets wrapped into a PDF and extracted in parallel with any PDF attachments, then the two results get merged (attachment data wins because the attached ticket is more authoritative than promotional email body text).

📦 Free workflow template + JSON

https://github.com/felix-sattler-easybits/n8n-workflows/tree/26772542fbbaf23d0a043517921d4d8ad50a471f/easybits-event-confirmation-to-calendar-workflow

Does anyone else have a similar problem with calendar clutter from business travel? Curious what other email-to-calendar use cases people are dealing with.

Best,
Felix

reddit.com
u/easybits_ai — 7 days ago

Built an n8n workflow that turns any booking confirmation email into a calendar event (flight, hotel, restaurant, etc.)

https://preview.redd.it/76vgg9snjx0h1.png?width=5550&format=png&auto=webp&s=0bbae02de9e1bd76584850afac66d72f9c60bbb1

👋 Hey Community,

My CEO came back from a conference last week and asked me for help with a problem I bet a lot of you can relate to.

He attends a lot of events, which means his inbox gets flooded with booking confirmations – flights, hotels, restaurants, event tickets. And someone (usually him) has to manually add all of that to his calendar.

The kicker: he wanted these appointments in a separate calendar so his main schedule stays clean. Manually creating each event was eating up time that should've gone to actual work.

So I built this:

📥 How it works

  • You label any confirmation email in Gmail with "Events"
  • The workflow extracts date, time, location, confirmation number, vendor, and notes from both the email body and any PDF attachments
  • A calendar event lands in a dedicated "Auto-imported" Google Calendar with all the details and a link back to the original email
  • Non-confirmations (newsletters that got accidentally labeled) get flagged with a "Needs-Review" label and you get a notification email listing what was missing

🪄 What makes it work for any vendor

One easybits Extractor pipeline handles every format – Lufthansa, Booking.com, OpenTable, your dentist, DHL, whatever. No per-vendor parsing logic. The email body gets wrapped into a PDF and extracted in parallel with any PDF attachments, then the two results get merged (attachment data wins because the attached ticket is more authoritative than promotional email body text).

📦 Free workflow template + JSON

https://github.com/felix-sattler-easybits/n8n-workflows/tree/26772542fbbaf23d0a043517921d4d8ad50a471f/easybits-event-confirmation-to-calendar-workflow

Does anyone else have a similar problem with calendar clutter from business travel? Curious what other email-to-calendar use cases people are dealing with.

Best,
Felix

reddit.com
u/easybits_ai — 7 days ago
▲ 7 r/NoCodeSaaS+3 crossposts

Built an n8n workflow that turns any booking confirmation email into a calendar event (flight, hotel, restaurant, etc.)

https://preview.redd.it/yyi5iwchjx0h1.png?width=5550&format=png&auto=webp&s=50f4f6edfa853b1e88a4ff69cbfd19ac7fff3b2f

👋 Hey Community,

My CEO came back from a conference last week and asked me for help with a problem I bet a lot of you can relate to.

He attends a lot of events, which means his inbox gets flooded with booking confirmations – flights, hotels, restaurants, event tickets. And someone (usually him) has to manually add all of that to his calendar.

The kicker: he wanted these appointments in a separate calendar so his main schedule stays clean. Manually creating each event was eating up time that should've gone to actual work.

So I built this:

📥 How it works

  • You label any confirmation email in Gmail with "Events"
  • The workflow extracts date, time, location, confirmation number, vendor, and notes from both the email body and any PDF attachments
  • A calendar event lands in a dedicated "Auto-imported" Google Calendar with all the details and a link back to the original email
  • Non-confirmations (newsletters that got accidentally labeled) get flagged with a "Needs-Review" label and you get a notification email listing what was missing

🪄 What makes it work for any vendor

One easybits Extractor pipeline handles every format – Lufthansa, Booking.com, OpenTable, your dentist, DHL, whatever. No per-vendor parsing logic. The email body gets wrapped into a PDF and extracted in parallel with any PDF attachments, then the two results get merged (attachment data wins because the attached ticket is more authoritative than promotional email body text).

📦 Free workflow template + JSON

https://github.com/felix-sattler-easybits/n8n-workflows/tree/26772542fbbaf23d0a043517921d4d8ad50a471f/easybits-event-confirmation-to-calendar-workflow

Does anyone else have a similar problem with calendar clutter from business travel? Curious what other email-to-calendar use cases people are dealing with.

Best,
Felix

reddit.com
u/easybits_ai — 7 days ago
▲ 7 r/documentAutomation+7 crossposts

I built a Business Card Scanner in n8n that handles multiple cards from a single photo – full video walkthrough

👋 Hey everyone,

My CEO mentioned he's got a few conferences coming up in the next weeks and he's actually looking forward to them. There's just one problem: every time he comes back from an event, he has a stack of business cards in his pocket and zero time to manually add them all to his phone.

So I went looking for a tool I could just hand him. Plenty of business card scanners exist. But every single one of them has the same baffling design choice: you have to photograph each card individually. One at a time. For 20 cards.

That's not really a scanner. That's a slightly faster version of typing them in by hand.

So I built him something better in n8n.

📸 What it does

He lays all the business cards out on a hotel desk, takes ONE photo, and sends it to a Telegram bot. The workflow extracts every contact, deduplicates against a Google Sheet (so contacts he's already saved don't get re-added), and sends back a separate vCard file for each new contact. He taps a vCard on his iPhone → "Add Contact" → done. About 15 seconds for 20 cards.

In the video above I walk through the workflow setup in n8n and do a live test run with 8 business cards in one photo – figured it's easier to see it in action than describe it.

📁 Workflow JSON

You can grab the workflow JSON here (also linked in the video description along with the easybits Extractor setup info): https://github.com/felix-sattler-easybits/n8n-workflows/tree/21d7623026008432c700cff118d1a987687a10fe/easybits-business-card-scanner-workflow

Anyone else built something similar for handling event leads? Curious whether people are pushing contacts straight to a CRM (HubSpot, Pipedrive) or keeping it in a sheet. The Sheet → vCard pattern is nice because it works for everyone, but I imagine the CRM version would be even better for sales-heavy teams.

Best,
Felix

youtu.be
u/easybits_ai — 7 days ago

Turn handwritten meeting notes into Google Docs by emailing a photo

https://preview.redd.it/3fklks1i5wzg1.png?width=2800&format=png&auto=webp&s=b25219b51c223767e3592cce345489535ca7491c

👋 Hey VibeCoders Community,

I met up with my friend Mike yesterday. We were talking about the automations I've been building for him, and I noticed he was taking notes on a piece of paper.

I do that too. Writing things down by hand helps me actually remember them. But it also means I end up with a stack of papers on my desk that slowly turns into chaos. Apparently Mike has the same problem, and so do a bunch of his colleagues. They love taking notes offline, but the notes scatter across desks and eventually get lost.

Mike's already got Jira, Notion, and a few other tools wired up for the team. But people still default to pen and paper. So I offered him a deal: set up a dedicated email address inside the company, something like notes@mikescompany.com, and I'd deliver a solution.

This is what I built.

🛠️ What it does

Snap a photo of your whiteboard, notebook page, or napkin. Email it to the dedicated inbox. Within a minute you get a Google Doc back with the meeting title, date, attendees, summary, action items, and a full reference transcription. No app, no UI, no setup for the user.

🔧 The flow

Gmail Trigger → easybits Extractor → Set node → Create Google Doc → Insert body → Reply to sender

The Extractor reads the image and returns structured JSON. The Set node assembles it into a clean doc body with sensible fallbacks for anything the model couldn't read. Google Docs gets the doc, the sender gets a reply with the link.

🧠 Design choice worth calling out

Handwriting is messy. Most extraction approaches lean on confidence scores to flag uncertain reads, but those are noisy in both directions. I went the other way: the Extractor returns null rather than guess when something is unclear. The doc shows what was readable, falls back gracefully on what wasn't, and never invents names or dates that weren't written.

📦 The workflow

Full JSON, sticky notes, and setup instructions: https://github.com/felix-sattler-easybits/n8n-workflows/tree/b354dfcfdfa29a9b9e0032d086c31ab53aec2f9c/easybits-meeting-notes-to-google-doc-workflow

⚙️ Setting up the Extractor

The easybits Extractor is a verified community node. On n8n Cloud it's available out of the box, just search for easybits Extractor in the node panel. Self-hosted: go to Settings → Community Nodes → Install and enter '@easybits/n8n-nodes-extractor'. Free tier covers 50 extractions/month.

🙋 Looking for feedback

This is a first basic version. v2 is already in the works, sending notes directly into Notion alongside the Google Doc. What else would you add to make this genuinely useful?

Best,
Felix

reddit.com
u/easybits_ai — 12 days ago

Turn handwritten meeting notes into Google Docs by emailing a photo

https://preview.redd.it/rv0ec3ja5wzg1.png?width=2800&format=png&auto=webp&s=8b8ef59a8640f2f0d59e87b1d2ce6b6b20a93c0c

👋 Hey Community,

I met up with my friend Mike yesterday. We were talking about the automations I've been building for him, and I noticed he was taking notes on a piece of paper.

I do that too. Writing things down by hand helps me actually remember them. But it also means I end up with a stack of papers on my desk that slowly turns into chaos. Apparently Mike has the same problem, and so do a bunch of his colleagues. They love taking notes offline, but the notes scatter across desks and eventually get lost.

Mike's already got Jira, Notion, and a few other tools wired up for the team. But people still default to pen and paper. So I offered him a deal: set up a dedicated email address inside the company, something like notes@mikescompany.com, and I'd deliver a solution.

This is what I built.

🛠️ What it does

Snap a photo of your whiteboard, notebook page, or napkin. Email it to the dedicated inbox. Within a minute you get a Google Doc back with the meeting title, date, attendees, summary, action items, and a full reference transcription. No app, no UI, no setup for the user.

🔧 The flow

Gmail Trigger → easybits Extractor → Set node → Create Google Doc → Insert body → Reply to sender

The Extractor reads the image and returns structured JSON. The Set node assembles it into a clean doc body with sensible fallbacks for anything the model couldn't read. Google Docs gets the doc, the sender gets a reply with the link.

🧠 Design choice worth calling out

Handwriting is messy. Most extraction approaches lean on confidence scores to flag uncertain reads, but those are noisy in both directions. I went the other way: the Extractor returns null rather than guess when something is unclear. The doc shows what was readable, falls back gracefully on what wasn't, and never invents names or dates that weren't written.

📦 The workflow

Full JSON, sticky notes, and setup instructions: https://github.com/felix-sattler-easybits/n8n-workflows/tree/b354dfcfdfa29a9b9e0032d086c31ab53aec2f9c/easybits-meeting-notes-to-google-doc-workflow

⚙️ Setting up the Extractor

The easybits Extractor is a verified community node. On n8n Cloud it's available out of the box, just search for easybits Extractor in the node panel. Self-hosted: go to Settings → Community Nodes → Install and enter '@easybits/n8n-nodes-extractor'. Free tier covers 50 extractions/month.

🙋 Looking for feedback

This is a first basic version. v2 is already in the works, sending notes directly into Notion alongside the Google Doc. What else would you add to make this genuinely useful?

Best,
Felix

reddit.com
u/easybits_ai — 12 days ago

Turn handwritten meeting notes into Google Docs by emailing a photo

https://preview.redd.it/qxri70v75wzg1.png?width=2800&format=png&auto=webp&s=554406bbfdbad35f6a978a24e1f65e38564fbc92

👋 Hey Community,

I met up with my friend Mike yesterday. We were talking about the automations I've been building for him, and I noticed he was taking notes on a piece of paper.

I do that too. Writing things down by hand helps me actually remember them. But it also means I end up with a stack of papers on my desk that slowly turns into chaos. Apparently Mike has the same problem, and so do a bunch of his colleagues. They love taking notes offline, but the notes scatter across desks and eventually get lost.

Mike's already got Jira, Notion, and a few other tools wired up for the team. But people still default to pen and paper. So I offered him a deal: set up a dedicated email address inside the company, something like notes@mikescompany.com, and I'd deliver a solution.

This is what I built.

🛠️ What it does

Snap a photo of your whiteboard, notebook page, or napkin. Email it to the dedicated inbox. Within a minute you get a Google Doc back with the meeting title, date, attendees, summary, action items, and a full reference transcription. No app, no UI, no setup for the user.

🔧 The flow

Gmail Trigger → easybits Extractor → Set node → Create Google Doc → Insert body → Reply to sender

The Extractor reads the image and returns structured JSON. The Set node assembles it into a clean doc body with sensible fallbacks for anything the model couldn't read. Google Docs gets the doc, the sender gets a reply with the link.

🧠 Design choice worth calling out

Handwriting is messy. Most extraction approaches lean on confidence scores to flag uncertain reads, but those are noisy in both directions. I went the other way: the Extractor returns null rather than guess when something is unclear. The doc shows what was readable, falls back gracefully on what wasn't, and never invents names or dates that weren't written.

📦 The workflow

Full JSON, sticky notes, and setup instructions: https://github.com/felix-sattler-easybits/n8n-workflows/tree/b354dfcfdfa29a9b9e0032d086c31ab53aec2f9c/easybits-meeting-notes-to-google-doc-workflow

⚙️ Setting up the Extractor

The easybits Extractor is a verified community node. On n8n Cloud it's available out of the box, just search for easybits Extractor in the node panel. Self-hosted: go to Settings → Community Nodes → Install and enter '@easybits/n8n-nodes-extractor'. Free tier covers 50 extractions/month.

🙋 Looking for feedback

This is a first basic version. v2 is already in the works, sending notes directly into Notion alongside the Google Doc. What else would you add to make this genuinely useful?

Best,
Felix

reddit.com
u/easybits_ai — 12 days ago
▲ 4 r/NoCodeSaaS+3 crossposts

Turn handwritten meeting notes into Google Docs by emailing a photo

https://preview.redd.it/0aavsexw4wzg1.png?width=2800&format=png&auto=webp&s=7372cc88f766279feacc09ae6a9fb08b74dc468e

👋 Hey Community,

I met up with my friend Mike yesterday. We were talking about the automations I've been building for him, and I noticed he was taking notes on a piece of paper.

I do that too. Writing things down by hand helps me actually remember them. But it also means I end up with a stack of papers on my desk that slowly turns into chaos. Apparently Mike has the same problem, and so do a bunch of his colleagues. They love taking notes offline, but the notes scatter across desks and eventually get lost.

Mike's already got Jira, Notion, and a few other tools wired up for the team. But people still default to pen and paper. So I offered him a deal: set up a dedicated email address inside the company, something like notes@mikescompany.com, and I'd deliver a solution.

This is what I built.

🛠️ What it does

Snap a photo of your whiteboard, notebook page, or napkin. Email it to the dedicated inbox. Within a minute you get a Google Doc back with the meeting title, date, attendees, summary, action items, and a full reference transcription. No app, no UI, no setup for the user.

🔧 The flow

Gmail Trigger → easybits Extractor → Set node → Create Google Doc → Insert body → Reply to sender

The Extractor reads the image and returns structured JSON. The Set node assembles it into a clean doc body with sensible fallbacks for anything the model couldn't read. Google Docs gets the doc, the sender gets a reply with the link.

🧠 Design choice worth calling out

Handwriting is messy. Most extraction approaches lean on confidence scores to flag uncertain reads, but those are noisy in both directions. I went the other way: the Extractor returns null rather than guess when something is unclear. The doc shows what was readable, falls back gracefully on what wasn't, and never invents names or dates that weren't written.

📦 The workflow

Full JSON, sticky notes, and setup instructions: https://github.com/felix-sattler-easybits/n8n-workflows/tree/b354dfcfdfa29a9b9e0032d086c31ab53aec2f9c/easybits-meeting-notes-to-google-doc-workflow

⚙️ Setting up the Extractor

The easybits Extractor is a verified community node. On n8n Cloud it's available out of the box, just search for easybits Extractor in the node panel. Self-hosted: go to Settings → Community Nodes → Install and enter '@easybits/n8n-nodes-extractor'. Free tier covers 50 extractions/month.

🙋 Looking for feedback

This is a first basic version. v2 is already in the works, sending notes directly into Notion alongside the Google Doc. What else would you add to make this genuinely useful?

Best,
Felix

reddit.com
u/easybits_ai — 12 days ago
▲ 16 r/NoCodeSaaS+6 crossposts

👋 Hey Community,

So I just put out a video walking through how I optimize document extraction and classification pipelines, and figured I'd share the core learnings here too in case people don't have 11 minutes to watch the whole thing.

A bit of context: my friend Mike runs a small company and his finance colleague Sarah was drowning in invoices. We built out an automation around it and over the past few months I've been refining the same patterns across a bunch of different document workflows. Three things keep coming up.

1. Auto-mapping gets you 90% of the way, but those last 10% matter

When I first started building extraction pipelines I'd hit auto-map, see most fields populate, and call it done. Then a weird invoice format would come in and the invoice number wouldn't be caught. The fix isn't to give up on the description – it's to actually refine it.

What I do now: copy the existing description, paste it into Gemini with two or three example invoices (data has been anonymized) that broke things, and ask it to refine the description so it handles those cases. Then I drop the refined version back in. Takes 5 minutes and saves a lot of pain.

Bonus tip that almost nobody uses: the example field. The extractor uses it to understand what format you want the data point in, and adding one good example does more than people realize.

2. Confidence scoring: forget 0 to 1, just use low/mid/high

This one was a real "wait what" moment for me. I had pipelines using numeric confidence scores between 0 and 1, and I noticed the same document running through twice would come back as 0.8 once and 0.9 the next time. To the model, those are basically the same – "I'm confident, here's a high number." But for me building routing logic on top of that, the difference between 0.8 and 0.9 was meaningless.

Switched everything over to three tiers – low, mid, high – and the routing got way more reliable. The model can pick a clear category instead of inventing a precise number, and downstream logic stays simple.

3. Explicitly tell the extractor to return null when it's unsure

The extractor already returns null or empty values by default when it can't find a data point – that's good behavior out of the box. But I've found it pays off to reinforce this explicitly in the description anyway. Something like "if you can't clearly identify this value, return null" written into the description acts as a safety net, especially on edge cases where the model might otherwise be tempted to guess.

Then in the n8n workflow, I add a node right after the extractor that checks for nulls. If something came back empty, it gets flagged to Slack with a link to the original document for a human to look at. If you don't want a human-in-the-loop step, just log the failures to a Google Sheet – after a week of running you'll have a great list of edge cases to fix.

The full video walks through all of this on the actual platform with two free n8n workflow templates you can import:

Happy to answer questions if anyone's stuck on a specific extraction problem – the edge cases are where it gets interesting.

Best,
Felix

u/easybits_ai — 13 days ago

Built a tool that rewrites my friend's CV per job posting and tells him which skills he's actually missing – sharing the templates

👋 Hey SCCareerAdvice Community,

A friend of mine has been deep in job applications for the past few weeks – backend engineer, mid-senior level, mostly applying in Berlin. He vented to me about how much time goes into customizing a CV and cover letter for every single role. I dug into application guides expecting the answer to be "just don't bother", and instead found out that customization actually matters more than I thought – bullets are supposed to be reworded to mirror the job description's vocabulary, must-haves should be surfaced first, etc. Manually doing this for every application is a part-time job in itself.

So I built him an automated version. Two flows:

Flow 1 – One-time CV setup. Upload his CV as a PDF. Gets parsed into a structured database (experience, education, skills, etc.).

Flow 2 – Per-application tailoring. Upload a screenshot of any job posting. The system:

  1. Pulls structured data from the posting (must-haves, keywords, language, tone).
  2. Calculates a deterministic match score between his stored CV and the posting – keyword overlap, no AI involved. Must-haves count double.
  3. Gemini rewrites his experience bullets to mirror the employer's vocabulary where his actual experience matches.
  4. Re-scores against the rewritten bullets – that's the delta.
  5. Drafts a cover letter in the posting's language and tone.
  6. Outputs a Google Doc he can paste into his application.

The thing I'm most proud of: the AI is explicitly told to never invent experience. If a must-have isn't in his CV, it goes into a gaps array – not faked into a bullet. The cover letter respects the gaps too (won't claim a skill he doesn't have). On his first run for a Senior Backend role: 33% → 69% match, 3 honestly-flagged gaps (one of them was GraphQL – he genuinely hasn't used it).

This feels like the part most "AI CV optimizer" tools get wrong. They optimize for hitting 95%+ match scores, which usually means either fabricating skills or just keyword-stuffing the CV until ATS thinks you're a fit. That's how you end up in interviews getting asked about Kubernetes you've never touched. Surfacing real gaps is more useful – you can address them in the cover letter, prep for them in the interview, or decide the role isn't right.

Built in n8n so it's free to run locally. Both workflow JSONs in the comments. The document extraction uses a verified n8n community node.

Happy to answer questions about the prompts, the scoring formula, or how to adapt it for non-tech roles.

Best,
Felix

reddit.com
u/easybits_ai — 13 days ago

👋 Hey CSCareerQuestionsEU Community,

A friend of mine has been deep in job applications for the past few weeks – backend engineer, mid-senior level, mostly applying in Berlin. He vented to me about how much time goes into customizing a CV and cover letter for every single role. I dug into application guides expecting the answer to be "just don't bother", and instead found out that customization actually matters more than I thought – bullets are supposed to be reworded to mirror the job description's vocabulary, must-haves should be surfaced first, etc. Manually doing this for every application is a part-time job in itself.

So I built him an automated version. Two flows:

Flow 1 – One-time CV setup. Upload his CV as a PDF. Gets parsed into a structured database (experience, education, skills, etc.).

Flow 2 – Per-application tailoring. Upload a screenshot of any job posting. The system:

  1. Pulls structured data from the posting (must-haves, keywords, language, tone).
  2. Calculates a deterministic match score between his stored CV and the posting – keyword overlap, no AI involved. Must-haves count double.
  3. Gemini rewrites his experience bullets to mirror the employer's vocabulary where his actual experience matches.
  4. Re-scores against the rewritten bullets – that's the delta.
  5. Drafts a cover letter in the posting's language and tone.
  6. Outputs a Google Doc he can paste into his application.

The thing I'm most proud of: the AI is explicitly told to never invent experience. If a must-have isn't in his CV, it goes into a gaps array – not faked into a bullet. The cover letter respects the gaps too (won't claim a skill he doesn't have). On his first run for a Senior Backend role: 33% → 69% match, 3 honestly-flagged gaps (one of them was GraphQL – he genuinely hasn't used it).

This feels like the part most "AI CV optimizer" tools get wrong. They optimize for hitting 95%+ match scores, which usually means either fabricating skills or just keyword-stuffing the CV until ATS thinks you're a fit. That's how you end up in interviews getting asked about Kubernetes you've never touched. Surfacing real gaps is more useful – you can address them in the cover letter, prep for them in the interview, or decide the role isn't right.

Built in n8n so it's free to run locally. Both workflow JSONs in the comments. The document extraction uses a verified n8n community node.

Happy to answer questions about the prompts, the scoring formula, or how to adapt it for non-tech roles.

Best,
Felix

reddit.com
u/easybits_ai — 13 days ago

👋 Hey CSCareers Community,

A friend of mine has been deep in job applications for the past few weeks – backend engineer, mid-senior level, mostly applying in Berlin. He vented to me about how much time goes into customizing a CV and cover letter for every single role. I dug into application guides expecting the answer to be "just don't bother", and instead found out that customization actually matters more than I thought – bullets are supposed to be reworded to mirror the job description's vocabulary, must-haves should be surfaced first, etc. Manually doing this for every application is a part-time job in itself.

So I built him an automated version. Two flows:

Flow 1 – One-time CV setup. Upload his CV as a PDF. Gets parsed into a structured database (experience, education, skills, etc.).

Flow 2 – Per-application tailoring. Upload a screenshot of any job posting. The system:

  1. Pulls structured data from the posting (must-haves, keywords, language, tone).
  2. Calculates a deterministic match score between his stored CV and the posting – keyword overlap, no AI involved. Must-haves count double.
  3. Gemini rewrites his experience bullets to mirror the employer's vocabulary where his actual experience matches.
  4. Re-scores against the rewritten bullets – that's the delta.
  5. Drafts a cover letter in the posting's language and tone.
  6. Outputs a Google Doc he can paste into his application.

The thing I'm most proud of: the AI is explicitly told to never invent experience. If a must-have isn't in his CV, it goes into a gaps array – not faked into a bullet. The cover letter respects the gaps too (won't claim a skill he doesn't have). On his first run for a Senior Backend role: 33% → 69% match, 3 honestly-flagged gaps (one of them was GraphQL – he genuinely hasn't used it).

This feels like the part most "AI CV optimizer" tools get wrong. They optimize for hitting 95%+ match scores, which usually means either fabricating skills or just keyword-stuffing the CV until ATS thinks you're a fit. That's how you end up in interviews getting asked about Kubernetes you've never touched. Surfacing real gaps is more useful – you can address them in the cover letter, prep for them in the interview, or decide the role isn't right.

Built in n8n so it's free to run locally. Both workflow JSONs in the comments. The document extraction uses a verified n8n community node.

Happy to answer questions about the prompts, the scoring formula, or how to adapt it for non-tech roles.

Best,
Felix

reddit.com
u/easybits_ai — 13 days ago

https://preview.redd.it/05fcfwdjkczg1.png?width=1920&format=png&auto=webp&s=c201fca7f70c80567f6398f752ddfb454569cdd5

👋 Hey Community,

A friend of mine is deep in job applications right now. He was telling me how much time goes into writing a cover letter for every single role – and that companies still actually read them, so he can't skip it.

While reading through application guides I realized it's worse than that. The CV itself is supposed to be tweaked per posting too – bullets reworded to match the job description's vocabulary, must-haves surfaced first, etc. I told him this and he got even more frustrated. For me it was just a fun automation problem.

So I built a two-workflow setup in n8n.

Workflow 1 – CV onboarding (one-time setup)

Upload your CV as a PDF. easybits Extractor pulls every experience, education entry, skill, and contact detail into a structured Google Sheet. One row per job. Now you've got a clean "Master CV" database.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_onboarding_workflow.json

Workflow 2 – Tailor for a specific job (daily use)

Upload a screenshot or PDF of any job posting. Optional notes field if you want to emphasize something. Then:

  1. Extractor pulls structured data from the posting (must-haves, keywords, tone, language).
  2. A Code node calculates how well your stored CV matches the posting – deterministic keyword overlap, no AI involved. This is your "before" score.
  3. Gemini rewrites your experience bullets to surface real overlap with the posting, mirrors the employer's exact phrasing where you have matching experience, and flags anything you genuinely don't have in a gaps array.
  4. Same scoring formula runs again on the rewritten bullets – this is your "after" score.
  5. A second Gemini call drafts a cover letter in the posting's language and tone, referencing only what's in your tailored CV – never claiming skills from the gaps array.
  6. Everything lands in a single Google Doc (CV section + cover letter), ready to paste.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_tailor_workflow.json

The part I'm most proud of: Gemini is explicitly told to never invent experience. If a must-have isn't in the CV, it goes in the gaps array instead of being faked into a bullet. The completion screen surfaces these gaps so you can address them in interviews. The cover letter respects the gaps too – won't claim a skill the candidate doesn't have. My friend's first run: 33% → 69% match, with 3 honestly-flagged gaps and a paste-ready cover letter in under a minute.

Also kept the easybits Extractor at exactly 10 fields per workflow so it runs on the free plan. No paywall to use it.

Run the onboarding workflow first – it sets up the Master CV sheet the second workflow reads from. Happy to answer questions about the prompts or the scoring logic if anyone's curious.

Best,
Felix

reddit.com
u/easybits_ai — 15 days ago

https://preview.redd.it/987otckfkczg1.png?width=1920&format=png&auto=webp&s=a0012cc7e2f9ae2fbd5002a8bee28fb394aa2bcb

👋 Hey Community,

A friend of mine is deep in job applications right now. He was telling me how much time goes into writing a cover letter for every single role – and that companies still actually read them, so he can't skip it.

While reading through application guides I realized it's worse than that. The CV itself is supposed to be tweaked per posting too – bullets reworded to match the job description's vocabulary, must-haves surfaced first, etc. I told him this and he got even more frustrated. For me it was just a fun automation problem.

So I built a two-workflow setup in n8n.

Workflow 1 – CV onboarding (one-time setup)

Upload your CV as a PDF. easybits Extractor pulls every experience, education entry, skill, and contact detail into a structured Google Sheet. One row per job. Now you've got a clean "Master CV" database.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_onboarding_workflow.json

Workflow 2 – Tailor for a specific job (daily use)

Upload a screenshot or PDF of any job posting. Optional notes field if you want to emphasize something. Then:

  1. Extractor pulls structured data from the posting (must-haves, keywords, tone, language).
  2. A Code node calculates how well your stored CV matches the posting – deterministic keyword overlap, no AI involved. This is your "before" score.
  3. Gemini rewrites your experience bullets to surface real overlap with the posting, mirrors the employer's exact phrasing where you have matching experience, and flags anything you genuinely don't have in a gaps array.
  4. Same scoring formula runs again on the rewritten bullets – this is your "after" score.
  5. A second Gemini call drafts a cover letter in the posting's language and tone, referencing only what's in your tailored CV – never claiming skills from the gaps array.
  6. Everything lands in a single Google Doc (CV section + cover letter), ready to paste.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_tailor_workflow.json

The part I'm most proud of: Gemini is explicitly told to never invent experience. If a must-have isn't in the CV, it goes in the gaps array instead of being faked into a bullet. The completion screen surfaces these gaps so you can address them in interviews. The cover letter respects the gaps too – won't claim a skill the candidate doesn't have. My friend's first run: 33% → 69% match, with 3 honestly-flagged gaps and a paste-ready cover letter in under a minute.

Also kept the easybits Extractor at exactly 10 fields per workflow so it runs on the free plan. No paywall to use it.

Run the onboarding workflow first – it sets up the Master CV sheet the second workflow reads from. Happy to answer questions about the prompts or the scoring logic if anyone's curious.

Best,
Felix

reddit.com
u/easybits_ai — 15 days ago
▲ 10 r/NoCodeSaaS+4 crossposts

https://preview.redd.it/5km2pd16kczg1.png?width=1920&format=png&auto=webp&s=a78b89738f1d8365373ff4a5ea06610f993d1c15

👋 Hey Community,

A friend of mine is deep in job applications right now. He was telling me how much time goes into writing a cover letter for every single role – and that companies still actually read them, so he can't skip it.

While reading through application guides I realized it's worse than that. The CV itself is supposed to be tweaked per posting too – bullets reworded to match the job description's vocabulary, must-haves surfaced first, etc. I told him this and he got even more frustrated. For me it was just a fun automation problem.

So I built a two-workflow setup in n8n.

Workflow 1 – CV onboarding (one-time setup)

Upload your CV as a PDF. easybits Extractor pulls every experience, education entry, skill, and contact detail into a structured Google Sheet. One row per job. Now you've got a clean "Master CV" database.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_onboarding_workflow.json

Workflow 2 – Tailor for a specific job (daily use)

Upload a screenshot or PDF of any job posting. Optional notes field if you want to emphasize something. Then:

  1. Extractor pulls structured data from the posting (must-haves, keywords, tone, language).
  2. A Code node calculates how well your stored CV matches the posting – deterministic keyword overlap, no AI involved. This is your "before" score.
  3. Gemini rewrites your experience bullets to surface real overlap with the posting, mirrors the employer's exact phrasing where you have matching experience, and flags anything you genuinely don't have in a gaps array.
  4. Same scoring formula runs again on the rewritten bullets – this is your "after" score.
  5. A second Gemini call drafts a cover letter in the posting's language and tone, referencing only what's in your tailored CV – never claiming skills from the gaps array.
  6. Everything lands in a single Google Doc (CV section + cover letter), ready to paste.

GitHub: https://github.com/felix-sattler-easybits/n8n-workflows/blob/9360864b0cfb20d9eea54b2214fdb58d61d71157/easybits-cv-tailor-and-cover-letter-workflow/easybits_cv_tailor_workflow.json

The part I'm most proud of: Gemini is explicitly told to never invent experience. If a must-have isn't in the CV, it goes in the gaps array instead of being faked into a bullet. The completion screen surfaces these gaps so you can address them in interviews. The cover letter respects the gaps too – won't claim a skill the candidate doesn't have. My friend's first run: 33% → 69% match, with 3 honestly-flagged gaps and a paste-ready cover letter in under a minute.

Also kept the easybits Extractor at exactly 10 fields per workflow so it runs on the free plan. No paywall to use it.

Run the onboarding workflow first – it sets up the Master CV sheet the second workflow reads from. Happy to answer questions about the prompts or the scoring logic if anyone's curious.

Best,
Felix

reddit.com
u/easybits_ai — 15 days ago