You talk to Electronic in plain language. It sources roles, writes truth-checked resumes and cover letters, drives the real Apply flow on Workday, Taleo, SuccessFactors, Personio and HiBob, then handles the recruiter emails and screening questions all the way to the interview invite. Multi-agent, serverless on DigitalOcean, guardrailed against prompt injection and model poisoning, and observable end-to-end. This page is the HLD and the LLD.
Serious roles live behind enterprise ATS portals that expose no candidate-side submit API — employer APIs exist (post jobs, read candidates) but the apply flow itself is a browser form. So you either fill it by hand or drive the real UI. Our old Python Easy-Apply bot brute-forced brittle selectors and spat out spam. This design fixes both reach and quality, and adds everything a production system needs.
The whole journey through a single chat — Telegram, WhatsApp, or the web app. Electronic narrates what it's doing and stops for your approval at every irreversible step.
Sourcing, tailoring, truth-checking, applying, answering recruiters, scheduling interviews. Electronic keeps the whole loop in one thread so you always know what's happening and stay in control.
Applying is half the battle. The Comms Agent watches a dedicated inbox, drafts honest, grounded answers to the usual headhunter questions — notice period, salary expectation, visa/work authorization, why-this-role — flags anything it can't verify, and waits for your approval before anything is sent. Up to and including the interview invite.
The agents apply and answer recruiters in the background — this is where you watch it happen. A kanban CRM (your existing JobHuntWOW.com dashboard) where every role is a card the agents move through the funnel automatically, with analytics and reminders layered on top.
A multi-agent, event-driven, serverless system on DigitalOcean. Tap a block to jump to the layer, agent, security or observability detail. Colors follow the AWS 5-layer serverless-AI reference, remapped to DO.
A supervisor graph routes work to specialized agents, runs independent branches in parallel, and keeps a durable, resumable state per application — the LangGraph + AgentCore pattern, self-hosted on DO. Each agent has a narrow tool set (least privilege) and its own model routing.
Tailored to each posting from the person's real history — never generic, never invented. Eight stages from raw evidence to an ATS-parseable PDF, with the Truth Gate sitting in the middle as the honesty checkpoint.
Every flow starts on a LinkedIn job post and clicks the external Apply button, which redirects to the employer's ATS. We deliberately never touch Easy Apply. Pick a platform to watch the Apply Driver work through its specific quirks.
We borrow AWS's five-layer serverless-AI reference (interface → processing → inference → decisioning → storage) and the 3-tier separation-of-concerns (frontend / middleware / backend), then map every layer to a DigitalOcean-native service — with the "why this and not that" called out.
Three end-to-end sequences. Each line lights up in order — this is the exact control flow the orchestrator drives, including every human gate and graceful-stop.
The build sheet: each component, the concrete technology, the alternative we rejected, and why.
| Component | Choice | Rejected alt | Why |
|---|
The decisions that define the system — stated as explicit trade-offs so a reviewer can challenge them.
| Decision | We chose | Over | Rationale |
|---|
Every service and agent is a Docker container; Docker Compose brings the stack up; bursty jobs run serverless on DO Functions. And it's all Terraform from Day 0 — terraform apply provisions the droplet(s) and renders every config on them via cloud-init, then docker compose up. Maximum automation: CI/CD, immutable images, secrets and throttle-as-code.
terraform apply → full running stack (incl. all configs)Everything lives in GitHub. Every push runs the pipeline; nothing reaches the droplet except through it. Tests and LLM evals are gates, not afterthoughts.
git push → productionThe exact question worth answering before writing a line. Two honest extremes, then the recommended middle.
The Day-0 skeleton that makes “one command” real: containers, Compose, Terraform, cloud-init and the CI/CD pipeline. Illustrative shapes — the full repo lands in Phase 0.
Your domain (GoDaddy) pointed at your DigitalOcean droplet in FRA1. Here is the honest capacity read — and exactly how to wire the domain through Cloudflare (which doubles as the WAF layer in the design).
| Component | Runs where | ~RAM | On 4 GB? |
|---|
Normalized, tenant-isolated, evidence-linked. Postgres for truth, pgvector for retrieval, Spaces for artifacts, an append-only audit log for everything that happened.
Three pillars — metrics, logs, traces — plus LLM-specific telemetry and an immutable audit trail. Self-hosted open stack (no vendor lock-in), so it ships with the open-source repo.
Beyond infra metrics, these are the signals that tell you the agent is healthy and honest.
Two fronts. First the classic perimeter and platform controls. Then the AI-specific threats — mapped one-to-one against the OWASP Top 10 for LLM Applications (2025), because an agent that fills forms and reads recruiter email is a juicy target for prompt injection and model poisoning.
We don't start from zero. Concrete code and open projects we lift directly.
Every puzzle piece and how traffic actually flows between them — client to edge to orchestrator to agents to inference, with data, targets and CI/CD underneath. Dots are live traffic.