[{"content":"A Windows-first service that watches local directories for file changes and mirrors them to any rclone-supported backend — Google Drive, S3, Dropbox, OneDrive, SFTP, and 70+ others — with explicit include/exclude filtering.\nStatus: Released v1.0.0 (May 2026). Open source under MIT license.\nPortfolio project. The point isn\u0026rsquo;t the file-sync service itself — it\u0026rsquo;s that it was built end-to-end by AI under direction, in six weeks, with zero lines of code written by me. The case study is the substance.\nKey properties On-write detection via Windows ReadDirectoryChangesW (no polling) Selective filtering with per-project .syncignore files using .gitignore semantics Bandwidth-efficient via MD5 checksum comparison and a deduplicating fair queue Single binary with zero runtime dependencies (statically-linked SQLite) Backend-agnostic through rclone — 70+ cloud and remote backends Configurable delete policy: ignore, mirror, or quarantine Background modes: Windows Service (admin) or per-user Scheduled Task (no admin) Self-update flow with rclone auto-provisioning Scale at v1.0.0 282 git commits across 8 tagged releases (v0.4.0 → v1.0.0) ~22,800 production Go lines + ~31,800 test Go lines 1,060 Go test/fuzz functions 216 BugTracker records (with 75 from independent cross-AI review) ~10,700 lines of documentation ISO-aligned engineering: Requirements (29148), Quality Model (25010), Quality Measurement (25023), Testing (29119) Project links Repository: github.com/qraveh/SelectiveMirror All releases: GitHub Releases v1.0.0 release notes: v1.0.0 tag Windows installer: SelectiveMirror.msi Read more I Shipped a Production Go Project Without Knowing Go — a case study on AI-assisted software development, written from the experience of building SelectiveMirror.\n","permalink":"https://qodeh.com/projects/selective-mirror/","summary":"A Windows-first selective file-mirroring service with rclone backend support. Near-real-time, filter-aware, bandwidth-efficient. Released v1.0.0.","title":"SelectiveMirror"},{"content":"A Case Study in AI-Assisted Software Development\nTL;DR. Selective mirroring with improved .gitignore-like syntax to any cloud via rclone (70+ platforms). Built solo in six weeks: production-grade, ~22K lines of Go, AI-only. A 10x acceleration compared with pre-AI software product development. The human role: Product Manager, Architect, V\u0026amp;V Manager, … — not coder. Asking the right questions is key.\nSelectiveMirror is written in Go.\nI cannot write \u0026ldquo;Hello, World!\u0026rdquo; in Go.\nI did not learn Go for this project. I did not open Go files to inspect syntax. I did not debug compiler errors. My coding contribution was zero percent.\nThe opposite of \u0026ldquo;I do not code\u0026rdquo; was a different kind of active work: product definition, project control, architectural judgment, lifecycle thinking, verification pressure, and constant questioning of what would happen in the hands of a real user.\nMy role was the role software teams usually split across several people: Product Manager, Project Manager, Architect, and sometimes Verification Manager. I defined the product, introduced an SQL state database for correct synchronization in a multi-stage, multi-agent environment, organized multilayered verification and system validation, protected the lifecycle, shaped the architecture, set release expectations, demanded tests, rejected weak verification, and kept asking, relentlessly, what would happen to a real user after installation, upgrade, crash, uninstallation, misconfiguration, or a support request.\nThat combination is the key.\nThe person who gets the most from coding AI is not merely \u0026ldquo;the best coder.\u0026rdquo; It is the person who combines the virtues of product management, project management, and architecture.\nProduct Thinking Product management asks: what is this thing for?\nSelectiveMirror started because I needed shared storage for AI orchestration, but the product could not just be \u0026ldquo;sync my files.\u0026rdquo; It needed a clear user promise:\nSelective, real-time, explainable mirroring from local project folders to any rclone backend.\nThat meant saying no to whole categories of complexity. It was one-way mirroring, not bidirectional collaboration. It was CLI-first, not GUI-first. It used .gitignore semantics instead of inventing a new filter language. It used rclone instead of writing cloud integrations.\nThose were product decisions.\nThey gave the AI a stable target.\nProject Thinking Project management asks: where are we in the lifecycle?\nThis mattered constantly. A working binary was not enough. I had to think about first use, personal use, public release, installation, updates, support, bug reports, telemetry, security, and eventual maturity.\nAt the end of the first day, I could use mirroring myself.\nAt the end of the first week, I could release the product to others, with a fair number of known tradeoffs.\nThe remaining five weeks were mostly about lifecycle issues I did not fully know at the beginning: MSI behavior, Windows service permissions, scheduled tasks, telemetry, SQL backend design, security audit findings, release gates, regression tests, documentation consistency, and how a user reports a bug without leaking private paths.\nAI made implementation fast. It did not magically make the product manager know every production concern on day one.\nThat was the important human learning curve.\nArchitecture Thinking Architecture asks: what foundations make the system durable?\nThe key architectural move was to build on solid ground. .gitignore for filter semantics. rclone for transport. Go for a single binary. SQLite for local state. SQL-backed telemetry for product feedback. Explicit delete policies. A CLI that exposes diagnostics instead of hiding them.\nAt v1.0.0, SelectiveMirror is a real-sized project:\nMetric Current scale Git commits 282 Tagged releases 8 tags, v0.4.0 through v1.0.0 — full list at GitHub Releases Total tracked lines 81,535 Go source lines 54,595 total Go lines (22,766 production + 31,829 test) CLI implementation 8,916 production Go lines in cmd/smirror Internal packages 29,824 Go lines in internal/ Documentation 10,728 Markdown lines (docs/ plus root Markdown) Telemetry SQL/backend source/docs 2,513 lines (excluding generated package-lock) Installer code/config 1,177 lines BugTracker records 216 Go test/fuzz functions 1,060 (1,055 Test + 5 Fuzz) Regression scope 1,060 Go test/fuzz functions plus system/integration validation; telemetry CLAIMS-MAP 25/28 GREEN It includes a Windows service mode, per-user Scheduled Task mode, MSI installer, self-update flow, local SQLite state database, telemetry backend, Cloudflare Worker proxy, release automation, security hardening, SRS, V\u0026amp;V planning, and structured bug reporting.\nThis was a standards-based project aligned with ISO engineering practices, though not externally certified to ISO standards. Claude audited the project against ISO-aligned criteria and reported strong alignment with Requirements Engineering ISO 29148:2018, Product Quality Model ISO 25010:2023, Quality Measurement ISO 25023:2016, and Software Testing ISO 29119:2023.\nAt the last round of ISO compliance audit, Claude BMAD arrived. The AI work became explicitly multirole.\nPM John audited requirements engineering. Architect Winston owned the quality model. Tech-writer Paige took on the documentation, of course. Developer Amelia focused on the test-process gaps that require code/CI changes. The Edge-case Hunter and the Adversarial Reviewer challenged and validated the audit before sign-off. Claude GUI assistant orchestrated them as the lead, wrote the master doc, and delegated parallel reviews. AI can write the code, but it does not automatically choose the right product boundary or operational philosophy. That remains human work.\nVerification Thinking Verification asks: why should I believe this works?\nThis became one of the most important parts of the project. Claude helped build and fix the product. By v1.0.0, the BugTracker held 216 records. Yet at one point, after a large Claude-led bug-fixing cycle, a Claude-led system-level verification pass found zero new bugs.\nI did not accept that.\nZero bugs in a young filesystem/cloud/Windows service product is not a clean bill of health. It is suspicious.\nSo I brought in Codex as an independent reviewer. Codex learned the product from documentation and found dozens of real issues; by v1.0.0, Codex-linked reviews accounted for 75 BugTracker records.\nCross-AI verification matters. Different AIs have different blind spots. Claude was strong as builder and fixer. Codex was strong as adversarial investigator. Diversity still matters, even when the workers are artificial.\nThis was not cosmetic review. It changed the product. It found real issues in exit codes, failure masking, filter behavior, status reporting, batch sync paths, sanitization, and operational diagnostics.\nThe 10x Acceleration The acceleration claim is not based on vibes.\nA conservative human estimate for the current SelectiveMirror scope is roughly one year for a strong solo engineer, and several months for a small well-coordinated team. That includes product design, implementation, testing, installer work, Windows service behavior, security hardening, telemetry, SQL backend, documentation, regression infrastructure, and release engineering.\nWith coding AI, I reached this level in about six weeks.\nThat is the rounded 10x claim.\nActually, that may be too modest.\nThis was the first project. The learning curve was included in the clock, not excluded from it: how to steer AI engineers, how to hold a product boundary, how to force verification, how to think about installers, support, telemetry, privacy, audits, and failure modes.\nThe next product does not start from zero. The AI improve. I improve. A human who has already released one AI-built product brings release instincts to the next one. From that perspective, 10x is a conservative understatement.\nSome milestones were even more compressed:\nMilestone AI-assisted actual Human estimate without AI Personally usable mirroring 1 day 2–4 weeks Public release with tradeoffs 1 week 2–3 months v1.0.0 stable release ~6 weeks ~12 months 1,060 Go test/fuzz functions and 216 bug records Concurrent additional months For me personally, the multiplier is even larger, because without AI I would first need to learn Go or hire implementation. The project would not merely be slower. It probably would not exist in this form.\nThe New Role This is why the \u0026ldquo;AI replaces developers\u0026rdquo; framing is too crude.\nCoding AI changes who can lead software creation. The limiting factor becomes less \u0026ldquo;can you personally write this language?\u0026rdquo; and more:\nCan you define the product clearly? Can you manage scope and lifecycle? Can you make architectural decisions? Can you recognize missing production concerns? Can you design verification pressure? Can you distrust suspiciously clean results? Can you coordinate multiple AI agents with different strengths? In SelectiveMirror, I was not the Go developer.\nI was the person holding product intent, project discipline, architectural coherence, and verification pressure.\nThat is the profile that works best with coding AI.\nNot coder alone.\nNot architect alone.\nAn experienced human who knows which questions to ask, when to distrust easy answers, and how to keep asking until the system is production-ready.\nProject links Repository: github.com/qraveh/SelectiveMirror Releases: github.com/qraveh/SelectiveMirror/releases v1.0.0 release notes: v1.0.0 tag MSI installer (Windows): SelectiveMirror.msi ","permalink":"https://qodeh.com/publications/shipped-go-without-knowing-go/","summary":"A case study of building SelectiveMirror — a real-sized Windows Go service with installer, telemetry, SQL backend, and ISO-aligned engineering — in about six weeks, while contributing zero lines of Go. What changed: the human role.","title":"I Shipped a Production Go Project Without Knowing Go"},{"content":" 📄 Open the slides (PDF, 22 pages) — click the photo An introduction to quantum computation and quantum communication, delivered as an invited talk at Ready (formerly RACHIP), Petah-Tikva, on 22 October 2025.\n90 minutes. About 50 in the room — including 9 contractors for RAD I had managed. Eyes widened. Information turned out to be physical. Impossible density of information when qubits entangle. The source of quantum power, visible. The shiver of reverence from standing at the frontmost edge of physics. The cosmos and eternity behind it all.\nThe topic changes. Mighty quantum technologies, on display. Then another perspective is added. Quantum markets. Value chains. Money talks, convincingly, in the last slides. The quantum ecosystem comes into view — among my best pleasures from presenting.\nThe slides 📄 Open the slides (PDF, 22 pages) on Zenodo.\nLibreOffice source: Quantum Computation and Communication.odp (2.0 MB).\nArchived Permanent identifier and citation home:\nDOI: 10.5281/zenodo.20125965 Zenodo record: zenodo.org/records/20125965 License: MIT Cite @misc{neeman_2025_quantum_computation_communication, author = {Neeman, Raveh}, title = {Quantum Computation and Communication}, year = 2025, month = oct, publisher = {Zenodo}, doi = {10.5281/zenodo.20125965}, url = {https://doi.org/10.5281/zenodo.20125965} } (For other citation formats — APA, MLA, Chicago, RIS — use the \u0026ldquo;Cite\u0026rdquo; button on the Zenodo record.)\n","permalink":"https://qodeh.com/lectures/quantum-computation-and-communication/","summary":"Invited lecture at Ready (formerly RACHIP), Petah-Tikva. An introduction to quantum computation and quantum communication.","title":"Quantum Computation and Communication"}]