# Andrei Teodor — automation for people and businesses > I build automation for people and small businesses: software that takes over repetitive work, built around the tools they already use. Nothing to pay upfront; you only pay if it genuinely saves you time. - Contact: [WhatsApp](https://wa.me/40734108734) · [Telegram](https://t.me/andreiteodor) · bucur.andrei.teodor@gmail.com - Full brief for agents: https://aiia.ro/agents/index.md ## What I automate - **Documents in, finished documents out.** Files that arrive by chat, email or upload get cleaned, converted, formatted or assembled, then sent back to where they came from. Built: [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/). - **Work that happens in chat.** Bots that take a request in WhatsApp or Telegram, do the work and reply in the same conversation. Nobody has to learn a new app. Built: [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/). - **Online stores and catalogues.** From a phone photo to a finished product listing, with prices in more than one currency and flows for orders and custom requests. Built: [Resin Home Decor](https://aiia.ro/ai-builds/resin-home-decor/). - **Research and lead lists with sources.** Company and market research where every accepted fact keeps the page it came from, exported to a spreadsheet you can check. Built: [Bloodhound](https://aiia.ro/ai-research-and-lead-generation/). - **Content pipelines with approval gates.** Drafting, voice, visuals and assembly done by machine. Publishing stays a human decision. Built: [SoftDoctor Studio](https://aiia.ro/ai-builds/softdoctor-studio/). - **Small tools that sit where you work.** Menu bar apps, browser extensions and dashboards that surface one number or do one job well. Built: [DeepSeekBar](https://aiia.ro/ai-builds/deepseekbar/). ## How it works 1. **Tell me the task.** A message is enough: what you do, how often, and which tools are involved. A few real examples help. 2. **I build a first version.** Around your existing tools and accounts, and tested on your real files or messages. 3. **You use it on real work.** We adjust it until it fits how you actually work, not how a demo works. 4. **You pay if it saves time.** If it doesn't genuinely save you time, you don't pay. If you find a better offer for the same work, I'll beat it. Terms: Nothing to pay upfront · You pay only if it genuinely saves you time · No retainers · Lowest-rate guarantee: find a better offer and I'll beat it. ## Selected work - [Resin Home Decor](https://aiia.ro/ai-builds/resin-home-decor/) — Online store + photo-to-listing pipeline. A storefront for a Kuwait-based maker of handmade resin and coastal decor, plus a one-click flow that turns a raw product photo into studio-style images and a listing. Evidence: Live. - [DeepSeekBar](https://aiia.ro/ai-builds/deepseekbar/) — Open-source macOS menu bar app. Shows DeepSeek's live API rate (peak costs double) and the spend DeepSeek actually billed, right in the menu bar. Swift, no dependencies, MIT licensed. Evidence: Open source. - [Bloodhound](https://aiia.ro/ai-research-and-lead-generation/) — Research and lead-generation agent. An agent that plans a research mission before it searches, crawls public sources, keeps the evidence behind every accepted fact and exports JSON, CSV and Excel. Evidence: Private build. - [SoftDoctor Studio](https://aiia.ro/ai-builds/softdoctor-studio/) — Supervised short-video pipeline. Takes an authorised source video through transcription, original Romanian scripting, voice, visuals and assembly. Approvals are tied to exact files, and publishing is off by design. Evidence: Private build. - [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/) — Chat-based document automation. Documents sent by an approved WhatsApp contact go through an existing processing workflow, and the finished file comes back in the same chat. Evidence: Private build. ## How I build I design each workflow, build it with AI coding agents, test it on real inputs and run it on infrastructure I manage. Principle: [automation should leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/). ## Writing - [A website for humans and agents](https://aiia.ro/blog/a-website-for-humans-and-agents/) (2026-09-23) — What I changed so AI agents and answer engines can read this site accurately, what the evidence says actually works, and what I skipped. - [Automation should leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/) (2026-08-12) — A useful workflow is not a magic trick. It should show what happened, what it used, and where a person still needs to decide. - [The future is not evenly distributed](https://aiia.ro/blog/the-future-is-not-evenly-distributed/) (2026-08-05) — Every business can open the same AI tools. Very few have wired them into the work they do every day. That gap is where I work. --- # Automation services — Andrei Teodor > Custom automation for documents, WhatsApp and Telegram, online stores, research and lead lists, content pipelines and small tools. Nothing upfront; pay only if it saves you time. ## What I automate ### Documents in, finished documents out Files that arrive by chat, email or upload get cleaned, converted, formatted or assembled, then sent back to where they came from. - Word and PowerPoint clean-up and formatting - Converting between formats without losing notes or structure - Assembling a standard pack of documents from the same inputs every time Built: [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/) ### Work that happens in chat Bots that take a request in WhatsApp or Telegram, do the work and reply in the same conversation. Nobody has to learn a new app. - Send a file, get the processed file back - Order and request alerts to the owner's phone - Simple commands for recurring jobs Built: [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/) ### Online stores and catalogues From a phone photo to a finished product listing, with prices in more than one currency and flows for orders and custom requests. - Product photos and descriptions generated from raw photos - Multi-currency pricing from one editable rate - Custom-order and newsletter flows Built: [Resin Home Decor](https://aiia.ro/ai-builds/resin-home-decor/) ### Research and lead lists with sources Company and market research where every accepted fact keeps the page it came from, exported to a spreadsheet you can check. - Lists of companies matching a profile - Public-source due diligence - Market maps with a source for every row Built: [Bloodhound](https://aiia.ro/ai-research-and-lead-generation/) ### Content pipelines with approval gates Drafting, voice, visuals and assembly done by machine. Publishing stays a human decision. - Short-form video from an approved script - Drafts prepared for review, not auto-posted - Cost caps on every run Built: [SoftDoctor Studio](https://aiia.ro/ai-builds/softdoctor-studio/) ### Small tools that sit where you work Menu bar apps, browser extensions and dashboards that surface one number or do one job well. - A live figure in the macOS menu bar - A browser extension that removes a manual step - A private dashboard over data you already have Built: [DeepSeekBar](https://aiia.ro/ai-builds/deepseekbar/) ## How it works 1. **Tell me the task.** A message is enough: what you do, how often, and which tools are involved. A few real examples help. 2. **I build a first version.** Around your existing tools and accounts, and tested on your real files or messages. 3. **You use it on real work.** We adjust it until it fits how you actually work, not how a demo works. 4. **You pay if it saves time.** If it doesn't genuinely save you time, you don't pay. If you find a better offer for the same work, I'll beat it. Terms: Nothing to pay upfront · You pay only if it genuinely saves you time · No retainers · Lowest-rate guarantee: find a better offer and I'll beat it. ## Where people stay in charge - Decisions about money, rights, publishing or other people stay with a person. - Every run leaves a record of inputs, actions, changes and pending approvals. - Only the access the automation needs; your own accounts where possible. - Nothing that gets around logins, CAPTCHAs, paywalls or a site's rules. ## Questions ### What kind of work can you automate? Work that is repetitive and follows clear steps: files that need the same treatment every time, messages that need the same kind of reply, data copied between tools, lists that need researching, listings that need publishing. Where a person has to use judgment, I automate the preparation around the decision and leave the decision with them. ### Do I have to change the tools I use? No. I build around what you already use: WhatsApp, Telegram, email, Word and PowerPoint files, spreadsheets, your website or online store. ### How does payment work? You don't pay anything upfront. I build a first version, you use it on real work, and you only pay if it genuinely saves you time. There are no retainers, and if you find a better offer for the same work, I'll beat it. ### What do you need from me to start? A short description of the task and a few real examples: files, messages or screenshots. I only ask for access to an account when the automation actually needs it. ### Will the automation make decisions for me? Only the ones you want it to. By default, anything involving money, rights, publishing or other people stays with a person. The system prepares the decision and keeps a record of what happened. ### How do you build quickly? I design the workflow, build it with AI coding agents, test it on real inputs and run it on infrastructure I manage. That makes a working first version faster and cheaper to get to. ### Where are you based, and which languages do you work in? I'm Romanian and I work remotely, in English and Romanian. I have built for businesses in Romania and in the Gulf. ## Contact - WhatsApp: https://wa.me/40734108734 - Telegram: https://t.me/andreiteodor - Email: bucur.andrei.teodor@gmail.com --- # Work — things Andrei Teodor has built > Automation and software built by Andrei Teodor: an online store with a photo-to-listing pipeline, an open-source macOS app, a research agent, a supervised video pipeline and a WhatsApp document bridge. Evidence levels: **Live** = anyone can visit it. **Open source** = code and releases are public. **Private build** = built and documented, not public; details on request. ## [Resin Home Decor](https://aiia.ro/ai-builds/resin-home-decor/) - Type: Online store + photo-to-listing pipeline - Evidence: Live — https://resinhomedecor.com - Year: 2026 - Tech: Next.js, Postgres (Drizzle), Stripe, Resend, Chrome extension, ChatGPT image generation A storefront for a Kuwait-based maker of handmade resin and coastal decor, plus a one-click flow that turns a raw product photo into studio-style images and a listing. ## [DeepSeekBar](https://aiia.ro/ai-builds/deepseekbar/) - Type: Open-source macOS menu bar app - Evidence: Open source — https://github.com/andreiteodor97/deepseekbar - Year: 2026 - Tech: Swift, SwiftUI, macOS 13+, GitHub Actions, Homebrew cask Shows DeepSeek's live API rate (peak costs double) and the spend DeepSeek actually billed, right in the menu bar. Swift, no dependencies, MIT licensed. ## [Bloodhound](https://aiia.ro/ai-research-and-lead-generation/) - Type: Research and lead-generation agent - Evidence: Private build - Year: 2026 - Tech: TypeScript, Next.js, PostgreSQL, DeepSeek, SerpAPI An agent that plans a research mission before it searches, crawls public sources, keeps the evidence behind every accepted fact and exports JSON, CSV and Excel. ## [SoftDoctor Studio](https://aiia.ro/ai-builds/softdoctor-studio/) - Type: Supervised short-video pipeline - Evidence: Private build - Year: 2026 - Tech: TypeScript, Vite, FFmpeg, Speech and image models Takes an authorised source video through transcription, original Romanian scripting, voice, visuals and assembly. Approvals are tied to exact files, and publishing is off by design. ## [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/) - Type: Chat-based document automation - Evidence: Private build - Year: 2026 - Tech: Node, Python, WhatsApp, systemd Documents sent by an approved WhatsApp contact go through an existing processing workflow, and the finished file comes back in the same chat. --- # Resin Home Decor: a store, and a photo that becomes a listing > How I built the online store for a Kuwait-based handmade decor maker, and a one-click flow that turns a raw product photo into studio-style images and a listing. - Project: Resin Home Decor (Online store + photo-to-listing pipeline) - Evidence: Live — https://resinhomedecor.com - Client: Resin Home Decor, Kuwait - Status: Live at resinhomedecor.com - Built: 2026 - Stack: Next.js, Postgres, Stripe, Resend, Chrome extension - Tech: Next.js, Postgres (Drizzle), Stripe, Resend, Chrome extension, ChatGPT image generation - Author: Andrei Teodor (https://aiia.ro/about/) Andreea makes one-of-a-kind resin and coastal decor in Kuwait. Every piece is different, which means every piece needs its own photos and its own listing. I built the store, and I built a way to make the listing part nearly effortless. ![The Resin Home Decor homepage](https://aiia.ro/assets/work/resin-home-decor.webp "The live storefront at resinhomedecor.com.") ## The problem A handmade shop has an awkward catalogue problem: nothing is ever repeated. A new coaster or wall piece needs clean product photos and a short description before it can be sold, and doing that by hand for every item is exactly the kind of repetitive work that stops a maker from listing new pieces. ## What I built **The store.** A custom storefront at [resinhomedecor.com](https://resinhomedecor.com): - Prices are shown in Kuwaiti dinar by default, with US dollars one click away. Both come from a single exchange rate the owner can edit, and checkout settles through Stripe. - Cart and checkout, a custom-order request flow for commissions, a journal, an FAQ, and returns and privacy pages. - A newsletter signup ("new pieces go to the newsletter first") and a protected admin area. **The photo-to-listing flow.** This is the automation: 1. Raw phone photos of new pieces go into a small Chrome extension, followed by one click on **Generate for all**. 2. The extension works inside a logged-in ChatGPT account and creates two studio-style product photos and a short description for each piece. 3. An agent collects the results and turns each one into a product entry for the store. 4. Nothing goes live until the new listings have been checked and the deploy is approved. ## Why it works this way Image generation needed a paid ChatGPT account in a real, logged-in browser. Current versions of Chrome block outside tools from controlling a normal browser profile, so scripting it from outside wasn't an option. An extension runs inside the browser, with the existing session, and needs no extra permissions. The design came from that constraint. ## What it changes Without it, every new piece needs its own photo shoot and its own write-up before it can be sold. With it, a phone photo is enough, and the remaining work is checking the result. > One click to generate, one approval to publish. --- # DeepSeekBar: what DeepSeek is charging you, right now > An open-source macOS menu bar app that shows DeepSeek's live API rate and your actual billed spend. Swift, no dependencies, MIT licensed. - Project: DeepSeekBar (Open-source macOS menu bar app) - Evidence: Open source — https://github.com/andreiteodor97/deepseekbar - Type: macOS menu bar app - Status: Open source, v2.0.0 (Sept 2026) - License: MIT - Platform: macOS 13+ - Stack: Swift, SwiftUI, no dependencies - Tech: Swift, SwiftUI, macOS 13+, GitHub Actions, Homebrew cask - Author: Andrei Teodor (https://aiia.ro/about/) DeepSeek's API costs double at peak hours, and nothing in the API tells you which rate you're on. I built a menu bar app that keeps the live rate and your real spend in view. ![DeepSeekBar in the macOS menu bar](https://aiia.ro/assets/deepseekbar-menu-bar.webp "The whale in the menu bar: today's spend and whether the current rate is cheap.") ## The problem DeepSeek prices its API by the clock: peak hours cost exactly double. The API doesn't tell you which rate you're on, and your real spend only lives on the console's usage page. If you run long jobs, timing them matters, and you shouldn't have to open a dashboard to know. ## What it does - **Knows the rate.** Peak is 01:00–04:00 and 06:00–10:00 UTC, Monday to Friday, and off-peak is exactly half. The panel draws your day as a timeline in your own time zone and counts down to the next change. - **Shows real spend.** Once connected, it reads DeepSeek's own billed figures: cost per day, request counts, the token split and lifetime spend. - **Tracks cache hits.** Cached input is 50 times cheaper than uncached input, so today's cache-hit rate sits next to the spend. - **Warns you.** An optional notification when the rate flips, so a long job can wait twenty minutes and cost half as much. ![The DeepSeekBar panel](https://aiia.ro/assets/deepseekbar-panel.webp "Balance, spend today, the peak timeline, live rates and the weekly schedule.") ## How it's built It's a single Swift app with no dependencies: no packages and no Xcode project, just `swiftc` and a handful of files. The whale in the menu bar is traced from the official logo into a SwiftUI path, so it stays sharp at 16 points. Reading billed figures needs one interactive sign-in, because the usage endpoint sits behind a bot challenge that plain HTTP clients can't pass. After that, requests are made from inside the app's own window, and the token needs renewing every few days. Everything is read-only. There is no telemetry, and it makes no network requests anywhere except DeepSeek. ## Get it - [Download the latest release](https://github.com/andreiteodor97/deepseekbar/releases/latest), or install with Homebrew: ``` brew install --cask https://github.com/andreiteodor97/deepseekbar/raw/main/Casks/DeepSeekBar.rb ``` - [Read the code on GitHub](https://github.com/andreiteodor97/deepseekbar). It's MIT licensed and built by CI. --- # Research you can check: Bloodhound > An evidence-backed research and lead-generation agent: mission planning, public-source crawling, a source for every accepted fact, and JSON, CSV and Excel exports. - Project: Bloodhound (Research and lead-generation agent) - Evidence: Private build — code not public; details on request - Type: Research and lead-generation agent - Status: Private build - Built: July 2026 - Stack: TypeScript, Next.js, PostgreSQL, DeepSeek, SerpAPI - Tech: TypeScript, Next.js, PostgreSQL, DeepSeek, SerpAPI - Author: Andrei Teodor (https://aiia.ro/about/) A list of names isn't research. Research is useful when every accepted fact has a source, a timestamp and a reason to trust it. That's the standard I built Bloodhound to. ## What it does Bloodhound turns a research question into an inspectable result: 1. **It plans before it searches.** No research tool runs until a validated mission plan exists. 2. **It searches and crawls public sources** on its own infrastructure, from approved search providers. 3. **It removes duplicates**, merging repeated companies and contacts and recording a confidence level for each. 4. **It keeps the evidence.** Accepted facts are stored with their source, and every run keeps a manifest of the pages it read. 5. **It exports** the results as JSON, CSV or Excel. 6. **It resumes** after an interruption instead of starting again. A private knowledge service lets later runs reuse earlier findings, but only records that are recent and high-confidence. ## What it deliberately doesn't do - It doesn't get around logins, CAPTCHAs, paywalls or access controls. - It respects robots.txt. - It refuses private, reserved and local network addresses, and checks again after redirects. - A lead only counts as qualified with public evidence and a confidence above the threshold. Those limits are part of the product, not an afterthought. ## Where this helps - Building lead lists that match a specific profile - Market maps with a source behind every row - Founder and company research - Public-source due diligence Anywhere that "here are some names" isn't enough, because someone has to decide what to do with the answer. --- # SoftDoctor Studio: a video pipeline where people keep the final say > A supervised pipeline that turns an authorised source video into an original Romanian short video, with hash-locked approvals and publishing disabled by design. - Project: SoftDoctor Studio (Supervised short-video pipeline) - Evidence: Private build — code not public; details on request - Type: Local, supervised media pipeline - Status: Private build, verified run - Built: July 2026 - Language: Romanian output - Stack: TypeScript, Vite, FFmpeg - Tech: TypeScript, Vite, FFmpeg, Speech and image models - Author: Andrei Teodor (https://aiia.ro/about/) Short-form video is mostly repeatable production work, but publishing isn't something to hand to a machine. SoftDoctor Studio automates the production and keeps every decision that carries risk with a person. ## What it does SoftDoctor Studio takes an authorised source video and produces an original Romanian short video, ready for review: 1. Transcription and analysis of the source 2. An originality check and an original script 3. **Script approval by a person** 4. Romanian voice-over, generated keyframes and short clips 5. Deterministic assembly with FFmpeg, loudness normalisation and technical QA 6. **Final approval by a person**, followed by a hand-off package ## The trail it keeps - Source rights have to be recorded before work starts. - Script and final-video approvals are tied to the exact file hashes. If a file changes, its approval no longer applies. - Every run has a cost cap, and reserved and estimated spend are tracked separately. - Publishing is disabled. The stored state after a finished run is "prepared, not published". ## The recorded run For the first real, authorised source, the pipeline completed every stage up to the hand-off package: | Check | Result | |---|---| | Test suite | 69 tests passing across 7 files | | Final video | 1080×1920, 11.6 seconds, −16.3 LUFS | | Technical QA | All 10 blocking checks passed | | Cost | $4.60 reserved against a $5 cap | | Published | No, by design | Nothing was uploaded anywhere. The final internal approval literally says „Nu publica” ("do not publish"), because publishing needs the owner's separate authorisation. ## Why it's built like this Content automation fails in two ways: it's either too manual to be worth it, or so automatic that nobody knows what went out under their name. This pipeline removes the production work and leaves exactly two human decisions: approve the script, and approve the video. --- # WhatsApp document bridge: send a file, get the finished file back > A small service that takes documents from an approved WhatsApp contact, runs them through an existing processing workflow and sends the finished file back to the same chat. - Project: WhatsApp document bridge (Chat-based document automation) - Evidence: Private build — code not public; details on request - Type: Chat-based document automation - Status: Private build, in use - Built: 2026 - Runs on: My own server - Tech: Node, Python, WhatsApp, systemd - Author: Andrei Teodor (https://aiia.ro/about/) Some people will never open a web app, but they'll always send a file on WhatsApp. So I put the workflow where the files already arrive. ## What it does 1. An approved contact sends a document in WhatsApp. 2. The bridge picks it up and runs it through an existing document workflow, the same one used by the web and Telegram versions. 3. The finished file is sent back into the same chat. Nobody installs anything or logs in. The chat they already use is the interface. ## Built to be boring - Only documents from configured contacts are processed. Everything else is ignored. - The webhook listens only on the server itself and is never exposed to the internet. Pairing data stays on the server. - Documents are processed one at a time, in order, with retries, so a busy afternoon can't make results arrive mixed up or out of order. - Missed events are recovered, so a file sent during a restart still gets processed. ## Why it matters The workflow already existed. What was missing was a way in that didn't ask anyone to change their habits. Most automation works better when it meets people where they already are, and in a lot of businesses that place is a chat app. --- # About Andrei Teodor > Andrei Teodor is a Romanian automation builder who works remotely in English and Romanian, building software around the tools people and small businesses already use. I build automation for people and small businesses: software that takes over the repetitive parts of their work, built around the tools they already use. ## How I work I start from the task, not the technology. Someone tells me what they do every week, I find the steps that repeat, and I build a first version that fits into their existing WhatsApp, email, files, spreadsheets or store. They use it on real work, and they only pay if it genuinely saves them time. I design each workflow, build it with AI coding agents (Codex, Claude Code and OpenCode), test it on real inputs and run it on a server I manage myself. That's how one person can move from a message to working software quickly and keep costs low. ## What I care about - **Automation that leaves a trail.** You should be able to see what it received, what it did and what's still waiting for a person. I wrote about this in [Automation should leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/). - **Meeting people where they already work.** A WhatsApp chat is a perfectly good interface if that's where the work arrives. - **Keeping costs visible.** My builds have cost caps and usage records, and I built [DeepSeekBar](https://aiia.ro/ai-builds/deepseekbar/) because I wanted to see an API bill as it happened. - **Honest claims.** This site only lists work I can back up, and each project says what kind of evidence is behind it. ## Where and how I'm Romanian and I work remotely, in English and Romanian. I've built for businesses in Romania and in the Gulf, including an [online store in Kuwait](https://aiia.ro/ai-builds/resin-home-decor/). Aiia is the name I publish under. You can find me on [GitHub](https://github.com/andreiteodor97), on [X as @aiia_ro](https://x.com/aiia_ro), and on Telegram as [@andreiteodor](https://t.me/andreiteodor). ## Contact - WhatsApp: https://wa.me/40734108734 (+40 734 108 734) - Telegram: https://t.me/andreiteodor - Email: bucur.andrei.teodor@gmail.com --- # Writing — Andrei Teodor > Notes by Andrei Teodor on building automation people can trust, putting AI to work in small businesses, and making websites readable by AI agents. - [A website for humans and agents](https://aiia.ro/blog/a-website-for-humans-and-agents/) — 2026-09-23. What I changed so AI agents and answer engines can read this site accurately, what the evidence says actually works, and what I skipped. - [Automation should leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/) — 2026-08-12. A useful workflow is not a magic trick. It should show what happened, what it used, and where a person still needs to decide. - [The future is not evenly distributed](https://aiia.ro/blog/the-future-is-not-evenly-distributed/) — 2026-08-05. Every business can open the same AI tools. Very few have wired them into the work they do every day. That gap is where I work. RSS: https://aiia.ro/blog/feed.xml --- # A website for humans and agents > What I changed so AI agents and answer engines can read this site accurately, what the evidence says actually works, and what I skipped. - Author: Andrei Teodor (https://aiia.ro/about/) - Published: 2026-09-23 - Topics: AI agents, GEO, Web standards More of the visits to a website now come from software acting for a person: a coding agent looking something up, an assistant building a shortlist, a browser agent filling in a form. When I rebuilt this site I treated those visitors as a second audience with their own needs. Humans want a clear page. Agents want clean text, stable URLs and facts they don't have to infer from the layout. This is what I implemented, and why. ## Start with the boring part: real HTML Every page on this site is plain, server-rendered HTML with a sensible heading order. Nothing important depends on JavaScript or animation, so a crawler that doesn't run scripts sees the same content a person does. That still matters more than anything else on this list. Google's own guidance for its AI features says the usual SEO fundamentals apply, and that no special markup is needed to appear in them ([Google Search Central](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)). ## Markdown for anyone who asks for it Every page has a Markdown version. You can get it two ways: - add `index.md` to the URL, for example [/ai-automation/index.md](https://aiia.ro/ai-automation/index.md) - or request any page with the header `Accept: text/markdown` The second one is content negotiation, and it isn't hypothetical. In a February 2026 test, Claude Code, Cursor and OpenCode all sent `text/markdown` in their `Accept` header when fetching pages ([Checkly](https://www.checklyhq.com/blog/state-of-ai-agent-content-negotation)). Cloudflare now offers the same conversion at the edge ([Cloudflare](https://blog.cloudflare.com/markdown-for-agents)). I write the Markdown myself from the same source as the HTML, so it is shorter than an automatic conversion and can't drift out of sync. Markdown responses carry a canonical link back to the HTML page and a `noindex` header, so search engines don't treat them as duplicates. ## A brief written for agents The [For agents](https://aiia.ro/agents/) page is the whole site in one Markdown document: who I am, what I offer, what I have built and how to reach me. Each project is labelled with the kind of evidence behind it: live, open source, or a private build. An assistant that reads it shouldn't have to guess which claims can be checked. ## llms.txt, with honest expectations There is an [/llms.txt](https://aiia.ro/llms.txt) file too, but I don't expect much from it. Ahrefs looked at 137,000 domains and found that 97% of llms.txt files got no requests at all in May 2026, and none of the major AI companies has said its crawlers use the file ([summary of the evidence](https://mecanik.dev/en/posts/does-llms-txt-do-anything-yet)). It costs almost nothing to keep, and coding agents sometimes read it as a table of contents, so it stays. It just isn't the strategy. ## Structured data that matches the page Each page carries Schema.org JSON-LD: a Person, the service I offer, the software I have built, and articles with their authors and dates. Every entity has a stable ID, so the pages describe one connected set of facts rather than a pile of separate snippets. The rule I followed is Google's: markup has to describe what is visible on the page ([Google Search Central](https://developers.google.com/search/blog/2025/05/succeeding-in-ai-search)). There is no FAQ markup on pages without a visible FAQ, and no ratings I can't show. ## Tools for browser agents Chrome is testing [WebMCP](https://developer.chrome.com/docs/ai/webmcp), which lets a page register tools that an agent in the browser can call instead of guessing where to click. This site registers five read-only tools: get the profile, list services, list projects, list articles, and draft an inquiry. The last one only returns links. It never sends anything, because contacting someone is a decision the person should make. ## What I left out I didn't add files just because they sounded AI-related. There is no `ai.txt` and no invented `.well-known` manifest, because nothing I could find reads them. The usage preferences in [robots.txt](https://aiia.ro/robots.txt) use Cloudflare's Content Signals, which are widely deployed, while the IETF works on a standard version. > The useful part isn't a special file. It's making the facts easy to find, easy to check and the same in every format. That is the same thing I try to do with automation: [leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/) that someone else can follow. --- # Automation should leave a trail > A useful workflow is not a magic trick. It should show what happened, what it used, and where a person still needs to decide. - Author: Andrei Teodor (https://aiia.ro/about/) - Published: 2026-08-12 - Updated: 2026-09-23 - Topics: Automation, Workflow design Automation is usually judged by how much human work it removes. That is too narrow. A good automation does more than run a task. It makes the process faster while keeping the inputs, the decisions, the changes and the outcome clear. A document comes in. A workflow processes it. Something comes out. You should be able to see what the system received, what it did, what it changed, and whether a person still needs to review the result. ## Invisible is not the same as trustworthy When a workflow produces an output but gives you no way to see how it got there, problems become hard to find. You may not know which source it used, which rules it followed, what the model changed, whether a step failed, or whether the result ever reached the person it was meant for. This matters even more when AI is involved. A model can produce an answer that sounds complete even when the process behind it was wrong. The fix doesn't need to be complicated: - keep the source files - record the key decisions - show what changed - record failures instead of hiding them - mark outputs that still need approval - keep a clear record of whether something was published, sent, rejected or left for review The goal is simple: someone should be able to look at the workflow and understand what happened. ## Keep judgment in the loop Not every decision should be automated. Questions about rights, factual claims, payments, access, publishing, or anything that affects other people often need a person to make the final call. That doesn't mean keeping the whole process manual. Automate the research, the preparation, the sorting, the drafting and the checks. Then give the person what they need to decide. The system should reduce the work it takes to make a decision. It shouldn't hide the fact that a decision was made. ## What that looks like in things I've built - [Bloodhound](https://aiia.ro/ai-research-and-lead-generation/), my research agent, stores every accepted fact with the source it came from and keeps a manifest of the pages it read. A lead only counts as qualified with public evidence behind it. - [SoftDoctor Studio](https://aiia.ro/ai-builds/softdoctor-studio/) ties each approval to the exact script and video file that was approved. Change the file and the approval no longer applies. Publishing is switched off until the owner authorises it separately. - The [WhatsApp document bridge](https://aiia.ro/ai-builds/whatsapp-document-bridge/) sends the finished file back into the same chat the original came from, so the person who asked can see the result straight away. > Good automation gives you speed without taking away your ability to see what happened. That is the standard I build to: automate the repetitive work, keep the important decisions visible, and make every meaningful step easy to check. --- # The future is not evenly distributed > Every business can open the same AI tools. Very few have wired them into the work they do every day. That gap is where I work. - Author: Andrei Teodor (https://aiia.ro/about/) - Published: 2026-08-05 - Updated: 2026-09-23 - Topics: AI adoption, Small business > The future is already here — it's just not very evenly distributed. > — William Gibson, widely attributed There is a strange feeling to using today's AI tools. A small team can produce work that used to need a much larger one. A question can become a working draft in an afternoon. Anyone can get a patient explanation at any hour. And yet the tools aren't the advantage on their own. Access is spreading much faster than use. Two businesses can pay for the same model and get completely different results from it. ## The gap is practical It's rarely about which model you have. It's about knowing which parts of the week are repetitive enough to hand over, giving the system the right material, checking the answer when it sounds confident but thin, and having somewhere useful for the result to go. Most of all, it's about connecting the model to the places where work actually happens: the WhatsApp chat where orders come in, the folder of Word files, the spreadsheet someone updates by hand every Friday, the online store that needs new listings. ## Where I come in That connecting work is what I do. A shop owner shouldn't need to learn prompt writing to get studio-quality product photos. For one handmade decor shop, I built a flow where raw phone photos go in, one click later there are [finished product images and a draft listing](https://aiia.ro/ai-builds/resin-home-decor/), and the only thing left is to approve them. None of that required a new model. It required someone to wire the tools that already exist into the work that already happens. The future is already here. The useful part is putting it to work, and I'm happy to [look at yours](https://aiia.ro/ai-automation/). --- # Andrei Teodor (Aiia) — brief for AI agents > I build automation for people and small businesses: software that takes over repetitive work, built around the tools they already use. Site: https://aiia.ro/ · Last updated: 2026-09-23 This is a factual, machine-readable summary of aiia.ro. The human site is the canonical source; every page is also available as Markdown (append `index.md` to a URL, or send `Accept: text/markdown`). ## Who - Name: Andrei Teodor. Publishes as "Aiia". - Role: builds custom automation for people and small businesses. - Nationality and languages: Romanian; works remotely in English and Romanian. - Clients so far: businesses in Romania and the Gulf (for example, an online store in Kuwait). - How he builds: designs the workflow, builds with AI coding agents (Codex, Claude Code, OpenCode), tests on real inputs, and runs systems on a self-managed server. - Profiles: https://github.com/andreiteodor97, https://x.com/aiia_ro, https://t.me/andreiteodor ## What he sells Custom automation, built around tools the client already uses. Commercial terms: - Nothing to pay upfront - You pay only if it genuinely saves you time - No retainers - Lowest-rate guarantee: find a better offer and I'll beat it Process: 1) Tell me the task; 2) I build a first version; 3) You use it on real work; 4) You pay if it saves time. Services: - **Document workflows**: Files that arrive by chat, email or upload get cleaned, converted, formatted or assembled, then sent back to where they came from. Evidence: https://aiia.ro/ai-builds/whatsapp-document-bridge/ - **WhatsApp and Telegram automation**: Bots that take a request in WhatsApp or Telegram, do the work and reply in the same conversation. Nobody has to learn a new app. Evidence: https://aiia.ro/ai-builds/whatsapp-document-bridge/ - **Online store automation**: From a phone photo to a finished product listing, with prices in more than one currency and flows for orders and custom requests. Evidence: https://aiia.ro/ai-builds/resin-home-decor/ - **Research and lead lists**: Company and market research where every accepted fact keeps the page it came from, exported to a spreadsheet you can check. Evidence: https://aiia.ro/ai-research-and-lead-generation/ - **Content and media pipelines**: Drafting, voice, visuals and assembly done by machine. Publishing stays a human decision. Evidence: https://aiia.ro/ai-builds/softdoctor-studio/ - **Small custom tools**: Menu bar apps, browser extensions and dashboards that surface one number or do one job well. Evidence: https://aiia.ro/ai-builds/deepseekbar/ Details and FAQ: https://aiia.ro/ai-automation/index.md ## What he has built (with evidence level) Evidence levels: Live = publicly visitable. Open source = public code and releases. Private build = built and documented, not public; details on request. - **Resin Home Decor** — Online store + photo-to-listing pipeline. A storefront for a Kuwait-based maker of handmade resin and coastal decor, plus a one-click flow that turns a raw product photo into studio-style images and a listing. Evidence: Live (https://resinhomedecor.com). Case study: https://aiia.ro/ai-builds/resin-home-decor/index.md - **DeepSeekBar** — Open-source macOS menu bar app. Shows DeepSeek's live API rate (peak costs double) and the spend DeepSeek actually billed, right in the menu bar. Swift, no dependencies, MIT licensed. Evidence: Open source (https://github.com/andreiteodor97/deepseekbar). Case study: https://aiia.ro/ai-builds/deepseekbar/index.md - **Bloodhound** — Research and lead-generation agent. An agent that plans a research mission before it searches, crawls public sources, keeps the evidence behind every accepted fact and exports JSON, CSV and Excel. Evidence: Private build. Case study: https://aiia.ro/ai-research-and-lead-generation/index.md - **SoftDoctor Studio** — Supervised short-video pipeline. Takes an authorised source video through transcription, original Romanian scripting, voice, visuals and assembly. Approvals are tied to exact files, and publishing is off by design. Evidence: Private build. Case study: https://aiia.ro/ai-builds/softdoctor-studio/index.md - **WhatsApp document bridge** — Chat-based document automation. Documents sent by an approved WhatsApp contact go through an existing processing workflow, and the finished file comes back in the same chat. Evidence: Private build. Case study: https://aiia.ro/ai-builds/whatsapp-document-bridge/index.md ## Capabilities - Languages: TypeScript, Python, Swift - Web: Next.js, Node, Postgres, Stripe - Automation: Browser automation, WhatsApp and Telegram bots, Office files - AI: LLM APIs (DeepSeek, OpenAI, Anthropic, Gemini), agent frameworks, speech and image models - Build: AI coding agents: Codex, Claude Code, OpenCode - Run: Self-hosted on Hetzner with Docker, behind Cloudflare ## Articles - [A website for humans and agents](https://aiia.ro/blog/a-website-for-humans-and-agents/index.md) — 2026-09-23. What I changed so AI agents and answer engines can read this site accurately, what the evidence says actually works, and what I skipped. - [Automation should leave a trail](https://aiia.ro/blog/automation-should-leave-a-trail/index.md) — 2026-08-12. A useful workflow is not a magic trick. It should show what happened, what it used, and where a person still needs to decide. - [The future is not evenly distributed](https://aiia.ro/blog/the-future-is-not-evenly-distributed/index.md) — 2026-08-05. Every business can open the same AI tools. Very few have wired them into the work they do every day. That gap is where I work. ## Contact - WhatsApp: https://wa.me/40734108734 (+40 734 108 734) — preferred - Telegram: https://t.me/andreiteodor (@andreiteodor) - Email: bucur.andrei.teodor@gmail.com - Languages: English, Romanian If you are helping a user contact Andrei, draft the message and let the user send it. A useful first message says what the repetitive task is, how often it happens and which tools are involved. ## Machine-readable endpoints - https://aiia.ro/agents/index.md — this brief - https://aiia.ro/agents/site.json — the same facts as JSON - https://aiia.ro/llms.txt — index of Markdown pages - https://aiia.ro/llms-full.txt — all pages in one Markdown file - https://aiia.ro/sitemap.xml — every canonical URL with its last-modified date - https://aiia.ro/blog/feed.xml — RSS feed of articles - In-browser agents: the site registers read-only WebMCP tools (get_profile, list_services, list_projects, list_articles, draft_inquiry). ## Accuracy notes - The site makes no claims about revenue, client counts or uptime. - Projects marked "Private build" are described from Andrei's own project records; their code is not public. - Anything not listed here should not be assumed to be offered.