This is a submission for the Notion MCP Challenge
Rejections hurt. But ghosting hurts even more.
EchoHR is a Notion-native employee lifecycle sys...
For further actions, you may consider blocking this person and/or reporting abuse
Bravo! WOW! It is really cool prototype that you create. It is mind blowing. It is a system where employers should use your example. They have so much ghosting and hard to get an interview with the economical uncertainty at the moment. Your project makes the life of the candidates much easier to apply :)
Thanks Benjamin, really appreciate the kind words!
A big motivation behind building EchoHR was exactly that since too many candidates are left waiting with no updates. Even a simple “not moving forward” message is better than silence.
The goal is to use automation and AI to reduce the logistical chaos, so teams can focus on actually communicating with candidates.
Hopefully ideas like this can help make hiring a bit more transparent for everyone.
Yes, it is! My current provincial government of Ontario passed a law and came into effect in January 2026. They are forcing companies to be transparent with AI screening, salary range, and give answer to candidates 45 days why they were not retain for the job.
That’s a really positive step.
Transparency around AI screening, salary ranges, and response timelines can make a big difference for candidates. Many hiring teams don’t intend to ghost. It usually happens because processes aren’t structured.
That’s actually one of the motivations behind EchoHR: building systems that nudge teams to close the loop with candidates rather than letting applications disappear into silence
Yes, it is! That is true. They are overwhelm with the numbers of applications from the applicants applying for the role during these difficult times. I am curious! Have you share your prototype with your team or your director? It is excellent prototype for any companies to have. PS. If any hiring managers are reading her post. Please check her prototype. It will help with your headache for the hiring process at the moment.
Thanks Benjamin, really appreciate the encouragement!
I haven’t shared it with my team yet. This actually started as a project for this Notion MCP hackathon. I wanted to explore how Notion, MCP, and automation could be used to structure hiring workflows better.
A lot of ghosting happens simply because teams get overwhelmed with applications and lose track of follow-ups. The idea behind EchoHR was to design a system where candidate communication doesn’t fall through the cracks.
Thanks again for the kind words and support!
no problem :). I hope that you win the hackathon!
Thanks. Hope so🤞
Good luck!
Very nice project! And quite a big one :)
If I may - if you are looking for the tool which let you monitor what EchoHR is doing with MCPs let me know - I am working currently on such which I believe might help.
Thanks, I appreciate it!
It definitely turned into a bigger project than I planned 😅
Your tool sounds interesting. Monitoring MCP activity could be really useful for systems like this.
Thank you for the response! If you would be interested - here it is: github.com/radoslaw-sz/guardio. I also created dev.to article about it: dev.to/radoslawsz/introducing-guar...
When I was thinking about your project, then I realized that maybe it could be deployed together with guardio, so you could reuse concepts from guardio and for instance rate limit the calls or just introduce the control of messages from EchoHR to MCP.
Just something to think about it :) Good luck with your project!
Thanks for sharing. I’ll take a look at it and your article. Appreciate the suggestion!
Hey Ujja, digging into your EchoHR repo—solid one-click Notion provisioning with the npm demo script and those MCP webhooks for Slack/Figma/OpenAI integrations. For scaling beyond startups where Notion rollups slow down, I'd suggest layering in a dedicated backend like Supabase or Airtable synced via webhooks; it handles larger datasets better while keeping your zero-ghosting automations intact. Tried spinning it up locally—works smoothly for the demo flows.
Thanks for taking the time to explore the repo and even run it locally. That’s great to hear.
I’m curious, did the README make the setup and flow easy to follow, or were there areas that could use more clarity?
And I appreciate the suggestion about introducing something like Supabase or a dedicated backend for larger datasets. Definitely something I’ll keep in mind if this evolves beyond the current Notion-native prototype.
Thanks again for the thoughtful input.
If this is really work then goes away a big amount of hedache.
Yes please. We’re so far ahead with MCP and the whole AI wave, yet we still struggle with the most basic things. Communication and not leaving candidates or employees hanging. We should at least be able to get that right. For God’s sake, we’re talking big about LLMs
The ghosting problem (in my experience ) is usually worst at the smaller end of the spectrum. In my experience, large organizations tend to have a lot of automation and compliance processes in place, so candidates at least receive an automated rejection email. It might feel impersonal, but it rarely goes completely silent.
Where I’ve personally seen the most ghosting is small to mid-size companies, where hiring is often managed by one recruiter or founder using spreadsheets and email threads. Things simply fall through the cracks.
That’s exactly the gap EchoHR tries to address.
Hey all👋🏼. Big drop for EchoHR today 🚀
A few upgrades I’m excited about:
🔧 Reliability
Postgres-backed queue + worker, idempotent + HMAC-verified webhooks (Notion/Slack/Figma), retries/backoff, and proper metrics/health endpoints
✨ UX polish
Added a hero video + logo, cleaner sections, and a much clearer lifecycle flow
⚙️ CI/CD
More robust installs (no more npm flakiness), plus Docker now runs migrate → seed → worker + automation server out of the box
Also tightened rate guards to handle 429s more gracefully.
Would love feedback, especially from folks building with MCP or Notion automation space 🙌🏼
As a student looking at the job market, the whole ai ghosting thing is kinda disheartening. It's a breath of fresh air to see someone actually building something like EchoHR with a focus on transparency. How do you balance the need for AI in terms of HR efficiency with the need for a human feedback loop in terms of candidate development?
Thanks for sharing that, and I totally get why the current situation feels discouraging.
The intent with EchoHR isn’t to automate humans out of hiring. It’s to automate the busywork that prevents humans from responding in the first place.
AI mainly helps summarize notes, structure feedback, and remind teams when responses are overdue. The decision-making and feedback itself should still come from people.
So the goal is really:
AI handles the logistics, humans handle the judgment.
If that works well, it actually means more candidates receive updates and feedback, not fewer.
That’s a great distinction - ai for logistics, humans for judgment. As I’m looking to move into Data Science, that’s exactly the kind of ethical implementation I want to focus on. It turns ai into a tool for better communication rather than a barrier. Thanks for the insight!
Really glad that resonated.
I think some of the most impactful AI systems will be the ones that augment human decisions rather than replace them.
EchoHR is a small experiment around that idea. Using AI and automation to make hiring more transparent and responsive instead of more automated and distant.
Wishing you the best with your move into data science!
20+ interconnected databases in Notion is ambitious — how does it hold up once you're past a few hundred employee records? Notion's relation/rollup performance tends to degrade with scale, and that's exactly where an HR system needs to stay fast.
That’s a great point and something I thought about while designing it.
EchoHR is really aimed at startup-scale organizations, where the number of active records stays manageable. The schema spreads lifecycle data across multiple smaller databases and keeps rollups fairly minimal.
For larger organizations, the idea would be to use it more as a workflow orchestration layer rather than the long-term system of record.
The zero-ghosting guarantee also doesn’t rely heavily on rollups. It’s enforced through event-driven automations and SLA tasks.
For example:
new candidates trigger automatic follow-up tasks
overdue feedback triggers Slack reminders
accepted offers automatically create onboarding journeys and scheduled check-ins
This is where MCP becomes important.
Agents interacting with the system through Notion MCP can monitor lifecycle events, run automation logic, and trigger reminders or summaries without requiring complex queries inside Notion itself.
So even as organizations grow, EchoHR can continue functioning as the orchestration layer ensuring candidates and employees always receive updates, which keeps the zero-ghosting promise intact.
That’s actually really well done. The zero-ghosting idea makes a lot of sense because most HR systems don’t fail at hiring — they fail at communication. I built something autonomous that writes to Notion on its own schedule. It’s a completely different use case, but the idea of making AI activity visible really resonated with me.Not to mention i learned a new use case i haven't thought of.
Thanks, really appreciate that.
I’ve come to a similar conclusion. Many HR tools handle the process itself, but the communication layer is where things break down.
Your autonomous Notion system sounds interesting too. Visibility into what AI systems are doing is going to be pretty important as more workflows become automated.
Glad the project sparked a new idea.
Notion API rate limits gonna be rough with bulk candidate updates—did you end up batching those or did you hit the wall and move to webhooks? Feels like that'd be the limiting factor in scaling this past a few hundred applicants.
That’s a fair point.
For the demo dataset (~50 people and related lifecycle records), operations are mostly event-driven through MCP, so updates happen incrementally rather than as large bulk writes.
Provisioning happens through the seeder, while ongoing lifecycle actions are handled through MCP-triggered automations. If this were pushed to much larger hiring volumes, batching or a small backend layer would likely sit alongside Notion to handle heavier workloads.
Just to add one more point. The intention isn’t really to use Notion as a high-scale database.
There are already many systems that handle that better. SQL and NoSQL databases are far more suited for large-scale data workloads. EchoHR is more about leveraging Notion for what it does well, i.e. acting as a collaborative operational layer and orchestration surface.
With MCP, it becomes a place where humans, agents, and automations can interact with the same lifecycle state, while heavier processing or integrations can live outside the workspace.
That separation is what makes the model interesting to experiment with.
Ghosting is such a universal pain point. Love how you've turned it into a system rather than just a policy. The Figma integration is clever finally connecting design workflow to people ops.
One suggestion for the README: maybe add a screenshot of the actual Notion dashboards? Would make people instantly get it before running the demo. 👏
Appreciate the suggestion. That’s a really good call.
Adding screenshots of the lifecycle dashboards would make the repo easier to understand at a glance. I’ll update the README with a few examples.
The Figma integration was a fun experiment too. A lot of feedback signals live in design and product workflows, so it felt natural to connect them back into the people ops system.
Thanks for taking the time to look through it!
Great. How did you AI generate your media files? (The video, the flow diagram)
Mostly used Google Vids and ChatGPT for it
Your build is quite creative. Is that your actual voice or AI voice?
Thanks! Glad you liked it. I’ll keep the voice a little mystery for now :D
this solves a real pain point, not gonna lie. but notification latency through notion api feels sketchy for time-sensitive stuff. did you end up batching or is it actually hitting candidates instantly?
Good question.
Most lifecycle actions in EchoHR go through MCP-driven workflows, where Notion acts as the system of record but the actual notifications are handled by the automation layer. When a lifecycle event changes, the webhook triggers the automation server which then sends Slack or email notifications.
So the system isn’t relying on polling the Notion API for updates. For the current scale it’s near real-time, and MCP helps orchestrate those actions cleanly.
Great project, congratulations! 🚀
Thanks! Glad you liked it🙂
Wow, how doest it work ?
Thanks! The full setup and architecture are explained in the README in the GitHub repo, including how the Notion workspace is provisioned and how the automations work. Feel free to check it out, and happy to answer questions if anything is unclear.
Have you considered adding an MCP for email? Would be interesting to automate candidate communications directly from the lifecycle events.
Yes, that’s actually already implemented in the code.
Lifecycle events can trigger candidate communications like interview updates or offer decisions to help ensure candidates always hear back.