ExpandCast
Status: Live- Turnaround
- 2 min
- Formats out
- 5+
- Grounding
- Own transcript
Typed contracts, isolated subagents, verifiable state. I'm shipping ExpandCast, ProductReel, AgroAsistente and Flow solo. Founder and lead engineer on all four.
José Gabriel Vilchez Carrasquero. AI engineer and fullstack operator in Mérida, Venezuela. I build production SaaS as a solo founder.
I treat AI agents as runtime components, not as cleverness amplifiers. The work runs on spec-driven contracts, deterministic state transitions and test-driven verification. The agent is the implementation. The system is mine.


Solo product work, 2026–present.
One podcast episode, a week of derivative content. Tenant isolation by Postgres RLS.
Paste a Shopify product URL. Get a 36-second video in under 60 seconds.
Agronomic advice grounded in this farm's own dirt. Per-parcel weather, soil, land-cover and NDVI assembled into every answer.
Hold a hotkey, speak, release. The text lands in whatever app you're in. Entirely offline, $0/mo.
AI-Integrated Software Engineer · mAI Depot · 2023–2026 · South Korea · Remote
Scope · 01
Feature work wiring language models into a production SaaS — the integration layer between providers and product.
Scope · 02
Subscription and payment flows — the billing lifecycle that keeps a SaaS running.
Scope · 03
Server-side logic and event-driven backends, shipped as managed functions.
Internal architecture, product detail and metrics withheld under NDA.
I treat AI agents as runtime components. They get contracts, isolation, verifiable state, a tool registry, and a documented path back from every failure. Then I own the system end-to-end. Seven practices below, each tied to a shipping project.
Predictable state transitions. Callback architecture beats polling at the 60-second wall.
Vercel Hobby caps function maxDuration at 60s. Shotstack renders run 40–90s. The pipeline submits and returns immediately. The function never polls. When Shotstack is done, its callback writes the job state to KV, and that's the only place the state can change.
Don't close the loop without evidence the work happened.
A render job stays incomplete until Shotstack's callback fires with the MP4 URL. The UI reads state from KV, which is the system of record, not from optimistic client memory.
Storage, network and DB each enforce their own scope. Nothing trusts anything by default.
ExpandCast runs Supabase RLS, so every row read or write goes through a policy check. The service-role admin client stays strictly behind the server boundary. ProductReel HMAC-validates each Shopify webhook before any pipeline work begins.
One pipeline, many entry points. Each caller hits the same orchestrator under the same contract.
/api/scrape, /api/backfill and /api/webhook all converge on lib/pipeline.ts. The pipeline doesn't know who called it. The contract is the same for all three. Behaviour can't drift between entry points, and there's only one place to fix bugs.
Capabilities live as explicit, modular sources. Adding knowledge is editing a folder, not retuning a model.
Modular RAG over docs/cultivos, docs/plagas, docs/fertilizacion. External integrations like SoilGrids, MapBiomas and Weather wire into the agent as discrete skills. New domain knowledge ships as a text file.
Constraints drive technical choices. The market is the spec.
Built for Android phones on 2G/3G in rural Venezuela. No Tailwind to keep the bundle small, native Web Speech instead of Whisper for zero network cost, localStorage queue instead of IndexedDB. The stack is the user's reality, not mine.
Every failure mode has a documented path back to a working state.
The offline queue flushes automatically when the signal returns. Mid-response streaming cuts surface a 'continue' button. Camera permission denials show a banner with a re-grant path. Failure modes are part of the spec, not an afterthought.
Inspired by Alan Buscalas' Agent Harnesses framework.
No logo dump. Select a project and see exactly what it was built with — the same four products from the case studies above.
01·Frontend
[ 14 ]02·Backend
[ 07 ]03·Data & APIs
[ 08 ]04·Cloud & Infra
[ 04 ]05·AI & Automation
[ 11 ]06·Tooling
[ 07 ]