Venezuela’s healthcare system collapsed years ago. Hospitals lack basic supplies. Doctors emigrated by the thousands. For millions of Venezuelans, getting a medical consultation became a luxury.
I built AI José Gregorio to help bridge that gap.
The Name Matters
José Gregorio Hernández was a Venezuelan doctor who dedicated his life to treating the poor for free in the early 1900s. Venezuelans consider him a saint. His portrait hangs in countless homes across the country. When someone is sick, many pray to him.
Naming this AI after him was intentional. The project carries his spirit: accessible healthcare for everyone, regardless of their ability to pay.
What It Does
Users describe their symptoms in a simple chat interface. The AI analyzes the input and provides guidance on possible conditions, recommended next steps, and when to seek emergency care.
The system runs on GPT-4o-mini through the OpenAI API. I chose this model for its balance of capability and cost. It handles medical conversations in Spanish naturally without needing a translation layer.
The chat keeps context. Users can describe symptoms, ask follow-up questions, and have a natural conversation. The API tracks the last five messages in the history to maintain coherence without exceeding token limits.
Multi-Platform From Day One
I built two clients: a PWA for the web and a native Android app using React Native with Expo.
The PWA works in any browser. Users can install it on their home screen. It handles offline scenarios gracefully by queuing requests.
The Android app was necessary because many Venezuelans prefer apps over websites. Google Play distribution made discovery easier. Expo let me share most of the codebase between web and mobile.
Both clients connect to the same backend API. This keeps the AI logic centralized and lets me update the model without pushing new versions to the stores.
The Backend Stack
The API runs on Hono deployed to Cloudflare Workers, providing edge computing with minimal latency for users across Venezuela.
The architecture follows a simple request-response flow: clients send the conversation history to the API, which forwards it to GPT-4o-mini along with a persona prompt that establishes José Gregorio as a medical assistant. The AI generates a response based on the full context, and the result flows back to the user.
Rate limiting prevents abuse, and API key authentication protects the endpoint. Edge deployment ensures users connect to nearby nodes rather than routing traffic through distant servers.
The Chat Interface
The conversation UI presents a familiar messaging experience. Users see their message history in a scrolling list that stays anchored to the latest message.
The interface provides immediate feedback through a writing indicator that appears while the AI processes the request. This visual cue keeps users informed during the brief wait for a response. Once the reply arrives, it smoothly appears in the conversation.
The app supports both light and dark themes with animated transitions between modes, adapting to user preferences while maintaining readability.
Building for Venezuela
Developing for Venezuela comes with unique constraints.
Internet connectivity is unreliable. Power outages are constant. Many users have older Android phones with limited storage.
I optimized for these realities:
- Small bundle sizes. The Android APK stays under 15MB.
- Aggressive caching. Once loaded, the PWA works offline.
- Minimal data usage. Text-only interface. No images in conversations.
- Graceful degradation. When the API is slow, the UI remains responsive with loading states.
- Error handling. Network failures show clear messages in Spanish explaining what went wrong.
Safety First
The app displays a prominent disclaimer before any interaction. This is not a replacement for doctors. The app states this clearly.
AI can help triage symptoms and suggest when to seek care. It cannot examine you. It cannot run tests. It cannot prescribe medication.
For many Venezuelans, though, even basic guidance is valuable. Knowing whether a fever warrants an ER visit or rest at home can save hours of waiting at an overcrowded clinic.
The Landing Page
The landing page at josegregorio.lat uses Next.js with next-intl for internationalization. It explains what the service does and links to both the web app and the Play Store.
Flowbite React provides the UI components. This kept the landing page development fast while maintaining a professional look.
What I Learned
Building José Gregorio taught me that technology for emerging markets requires different thinking. You cannot assume fast internet. You cannot assume modern devices. You cannot assume users understand how to interact with AI.
I added a landing page after launch because users were confused by the chat interface. Context matters. Explanation matters. Never assume.
The edge deployment on Cloudflare Workers made a real difference for latency. Users in Venezuela connect to nearby edge nodes rather than crossing the Atlantic to reach a US server.


