Building AI Products Between Rides: A Vancouver Developer's Real Story
Two years ago, I was parked outside a downtown Vancouver office building at 11 PM, engine idling while my passenger finished a phone call, when I got the notification that changed everything. My first AI side project had just processed a meaningful number of API calls. Not exactly life-changing money, but something clicked in that moment. I wasn't just driving people around anymore — I was building something that could work while I slept.
Today, between rides and late-night coding sessions in coffee shops across the city, I've launched three AI products that collectively generate significantly more than my day job ever did. I'm not going to pretend this was some overnight success story or that I cracked some secret code. This is the messy, caffeine-fueled reality of building AI products as a Vancouver developer with more ambition than free time.
The story I'm about to share isn't about revolutionary breakthroughs or venture capital. It's about stealing moments between Uber pickups, debugging code in McDonald's parking lots, and the slow realization that the AI gold rush isn't just for Silicon Valley anymore. It's also about learning to ship fast and iterate faster — because when your office is your car and your development time is measured in passenger-free intervals, every minute counts.
The Accidental AI Developer
I didn't start building AI products because I had some grand vision about the future of technology. I started because I was tired of trading time for money, and OpenAI's API had just become accessible enough that someone like me — a self-taught developer with a decent Python background and too much time spent in Vancouver traffic — could actually build something useful.
My first project was embarrassingly simple: a content summarization tool for local news sites. I'd noticed that Vancouver's media landscape was fractured — important city council decisions buried in lengthy articles, housing policy updates scattered across multiple sources, transit changes announced in formats that made them impossible to find. I built a scraper that would pull articles from major Vancouver news sources and use GPT to create digestible summaries.
The technical implementation was basic. A Python script running on a DigitalOcean droplet, BeautifulSoup for scraping, OpenAI's API for summarization, and a simple web interface built with Flask. Total development time: maybe forty hours spread across three weeks, mostly coded during the dead periods between ride requests.
I launched it quietly, posted it on r/vancouver, and expected maybe a dozen people to try it. Instead, I woke up to hundreds of users and my first OpenAI bill that made me panic-check my bank account. That's when I realized I needed to treat this seriously — not just as a side project, but as a real business.
The learning curve was steep. I knew how to code, but I knew nothing about product management, user feedback, or how to price AI-powered services. I made every mistake possible: over-engineering features nobody asked for, underestimating API costs, building for myself instead of my users. My second month's revenue was minimal because I'd spent so much time adding features that I forgot to fix the bugs that were driving people away.
The Vancouver AI Reality
Building AI products in Vancouver comes with unique challenges. We're not Silicon Valley — we don't have unlimited VC funding or a culture that celebrates failure as learning. We're also not Toronto, with its established tech ecosystem and government support. We're somewhere in between, which means we have to be scrappier and more creative about how we build and launch products.
The cost of living here affects everything. When your rent and car payment eat up most of your income, you can't afford to spend months building the perfect product. You need something generating revenue quickly, even if it's just enough to cover your OpenAI bills and maybe a coffee that doesn't come from a gas station.
I work out of my car a lot. Not by choice — Vancouver coworking spaces cost more than my monthly phone bill, and coffee shops kick you out after a few hours. But there's something liberating about having your office be wherever you park. I've debugged machine learning models in the parking lot of Metrotown, refined prompts while waiting outside YVR for pickup requests, and pushed code to production from a Tim Hortons on Granville Street at 2 AM.
The internet situation is always interesting. Vancouver's public WiFi is spotty at best, so I've become an expert at finding the sweet spots — the corner booth at Blenz where you can see the router, the parking spot outside the library branch with the strongest signal, the McDonald's on Broadway that somehow has better upload speeds than my apartment.
What Actually Moved the Needle
The breakthrough came when I stopped trying to build the next ChatGPT and started focusing on solving specific problems for specific people. My successful products aren't revolutionary — they're just useful enough that people are willing to pay monthly for them.
Product number two was a rental listing analyzer for Vancouver's housing market. Anyone who's searched for apartments here knows the pain: misleading photos, vague descriptions, prices that make you question your life choices. I built a tool that would scrape Craigslist and Facebook Marketplace, analyze listings with GPT-4, and flag potential red flags or highlight genuine deals. The AI would score listings based on price per square foot, proximity to transit, and description quality.
The technical stack was similar to my first product, but I'd learned to keep costs manageable. Instead of processing every listing in real-time, I batched requests during off-peak hours when OpenAI's rates were lower. Instead of storing everything in a database, I used simple JSON files and regenerated the data daily. Instead of a complex user interface, I created a simple email digest that people could subscribe to.
Launch was different this time. I spent a week posting in Vancouver Facebook groups, Reddit communities, and even some Discord servers I'd found for people apartment hunting in the city. The response was immediate — within days, I had a meaningful number of subscribers. More importantly, I had validation that I'd found a real problem worth solving.
Product number three came from my own frustration with Vancouver's restaurant scene. Not the quality — the city has incredible food — but the discovery problem. Yelp reviews are mostly useless, Google reviews are inconsistent, and food blogs are either sponsored content or written by people with very different tastes than mine. I built a restaurant recommendation engine that would analyze reviews from multiple sources, identify genuine opinions from likely fake ones, and provide personalized recommendations based on your preferences.
The AI component was more sophisticated this time. I used embeddings to map review sentiment and cuisine preferences, built a recommendation algorithm that learned from user feedback, and even added a feature that would suggest dishes to order based on recent reviews mentioning specific menu items. I launched it just as Vancouver was reopening after COVID restrictions.
The Real Development Process
People always ask about my development process, expecting some sophisticated methodology. The reality is much more chaotic. I code in stolen moments — fifteen minutes while a passenger runs into a store, an hour during lunch break at my day job, three-hour sessions on Sunday mornings before the city wakes up.
My setup is minimal by necessity. A refurbished MacBook Pro, a car charger that's seen better days, and a mobile hotspot for when WiFi isn't available. I use VS Code with a few essential extensions, keep my environments simple, and rely heavily on cloud services because I can't guarantee where I'll be working from day to day.
Version control happens through GitHub, but my commit messages probably violate every best practice guide ever written. "Fixed the thing that was broken" and "API calls work now" are common entries in my project histories. Documentation is minimal — not because I don't believe in it, but because when you have thirty minutes to implement a feature before your next ride request, you prioritize differently.
Testing is mostly manual and mostly done in production. I know this makes seasoned developers cringe, but when you're a team of one building products that process a reasonable number of requests a day, the overhead of proper testing frameworks often isn't worth it. I do test the critical paths obsessively — anything involving payments or data that users depend on gets multiple passes — but the UI tweaks and nice-to-have features get shipped with minimal validation.
Customer support happens through a simple contact form and my personal email. I've found that being responsive and human in support interactions creates more loyalty than having a polished help center. When someone emails about a bug, they get a response from me personally, usually within a few hours. When someone suggests a feature, I tell them honestly whether I can build it and when they might expect it.
The Money Reality
Let's talk numbers, because that's what everyone really wants to know. My three products currently generate steady monthly recurring revenue. That might not sound like much compared to Silicon Valley success stories, but in Vancouver, it's the difference between financial stress and financial breathing room.
The costs are manageable but significant. OpenAI API calls are my biggest expense across all products. Server hosting is another monthly cost. Domain names, SSL certificates, email service, analytics tools — the little subscriptions add up. My biggest expense is actually time — the opportunity cost of hours spent coding instead of driving, which on busy nights can be substantial.
Revenue comes entirely from subscriptions. I tried one-time purchases and freemium models, but monthly subscriptions provide the predictable income that makes this sustainable. My prices are deliberately modest — I'd rather have more customers paying less each than fewer customers paying more. Vancouver isn't San Francisco; people here are price-conscious and willing to switch if something gets too expensive.
The seasonal patterns are interesting. My rental analyzer does best in spring and fall when people are apartment hunting. The restaurant tool peaks during summer and holiday seasons. The news summarizer is steady year-round but spikes during election periods or major city council decisions.
I reinvest most profits back into the products — better servers during peak usage, new API features when OpenAI releases them, occasional paid advertising on local Facebook groups. I keep my lifestyle inflation minimal because this income isn't guaranteed, and I remember too clearly what it felt like to choose between gas money and grocery money.
The Failure Collection
For every product that worked, I built three that didn't. There was the AI-powered event discovery app that nobody used because Facebook already solved that problem. The automated social media scheduler for local businesses that I spent two months building before realizing my target customers couldn't afford monthly subscriptions. The personal finance assistant that was too complex for people who wanted simple budgeting and too simple for people who wanted complex analysis.
The hardest failure was a tool for Vancouver freelancers that would analyze job postings and suggest optimal pricing strategies. I was convinced this would be huge — every freelancer I knew struggled with pricing, and AI seemed perfect for analyzing market rates and competition. I spent four months building it, created detailed personas, even pre-sold subscriptions to beta testers.
It flopped completely. Freelancers wanted human advice about pricing, not algorithmic suggestions. They wanted community and networking, not data analysis. I had built a solution for a problem that didn't actually exist in the way I thought it did. That failure taught me more about product-market fit than any success story ever could.
What's Next
I'm not trying to build the next unicorn or get acquired by Google. I'm trying to build sustainable, profitable products that solve real problems for people in my city. The AI wave won't last forever in its current form, but the underlying need for better tools and automation will continue.
My next product is already in development — an AI assistant for Vancouver small business owners that helps with everything from writing social media posts to analyzing customer feedback. It's based on conversations I've had with dozens of local business owners during rides, and early testing suggests I'm onto something.
The long-term goal isn't to replace my driving income entirely, though that might happen eventually. It's to create enough recurring revenue that I have flexibility and options. When you're not living paycheck to paycheck, you can take bigger risks and think longer-term.
Building AI products between Uber rides isn't glamorous, but it's taught me that innovation doesn't require perfect conditions or unlimited resources. It just requires persistence, willingness to fail fast, and the ability to find opportunity in the spaces between other obligations. Vancouver might not be Silicon Valley, but that's exactly why it's the perfect place to build products that solve real problems for real people.
بناء منتجات الذكاء الاصطناعي بين الرحلات: قصة حقيقية لمطور من فانكوفر
قبل عامين، كنت متوقفاً خارج مبنى مكتبي في وسط مدينة فانكوفر في الساعة 11 مساءً، والمحرك يعمل بينما كان راكبي ينهي مكالمة هاتفية، عندما تلقيت الإشعار الذي غيّر كل شيء. كان أول مشروع جانبي لي في مجال الذكاء الاصطناعي قد عالج للتو عدداً ذا معنى من استدعاءات API. ليس بالمال الذي يغير الحياة تماماً، ولكن شيئاً ما نقر في تلك اللحظة. لم أعد مجرد شخص يُقلّ الآخرين بعد الآن — بل كنت أبني شيئاً يمكنه العمل بينما أنا نائم.
اليوم، بين الرحلات وجلسات البرمجة في ساعات متأخرة من الليل في مقاهي عبر المدينة، أطلقت ثلاثة منتجات ذكاء اصطناعي تحقق معاً إيرادات أكبر بكثير مما كان يوفره لي عملي اليومي من قبل. لن أدّعي أن هذه كانت قصة نجاح بين ليلة وضحاها أو أنني فككت شيفرة سرية. هذا هو الواقع الفوضوي المُغذّى بالكافيين لبناء منتجات الذكاء الاصطناعي كمطور في فانكوفر يملك طموحاً أكثر من وقت الفراغ.
القصة التي أنا على وشك مشاركتها ليست عن breakthroughs ثورية أو رأس مال استثماري. إنها عن اختلاس اللحظات بين طلبات Uber، وتصحيح الأخطاء البرمجية في مواقف سيارات McDonald's، والإدراك البطيء بأن حمى الذهب في الذكاء الاصطناعي لم تعد حصراً على Silicon Valley بعد الآن. إنها أيضاً عن تعلّم الشحن بسرعة والتكرار بشكل أسرع — لأنه عندما يكون مكتبك هو سيارتك ووقت تطويرك يُقاس بالفترات الخالية من الركاب، فإن كل دقيقة تهم.
مطور الذكاء الاصطناعي بالصدفة
لم أبدأ بناء منتجات الذكاء الاصطناعي لأنه كانت لدي رؤية عظيمة حول مستقبل التكنولوجيا. بدأت لأنني سئمت من مقايضة الوقت بالمال، ولأن واجهة برمجة تطبيقات OpenAI أصبحت في متناول اليد بما يكفي لشخص مثلي — مطور علم نفسه بنفسه ولديه خلفية جيدة في Python وقضى وقتاً طويلاً في زحام فانكوفر — ليتمكن فعلاً من بناء شيء مفيد.
كان مشروعي الأول بسيطاً بشكل محرج: أداة تلخيص محتوى للمواقع الإخبارية المحلية. لاحظت أن المشهد الإعلامي في فانكوفر كان مجزأً — قرارات مجلس المدينة الهامة مدفونة في مقالات طويلة، وتحديثات سياسات الإسكان موزعة عبر مصادر متعددة، وتغييرات النقل العام مُعلنة بتنسيقات تجعل من المستحيل العثور عليها. بنيت أداة استخراج بيانات تسحب المقالات من مصادر الأخبار الرئيسية في فانكوفر وتستخدم GPT لإنشاء ملخصات سهلة الهضم.
التنفيذ التقني كان أساسياً. سكربت Python يعمل على DigitalOcean droplet، وBeautifulSoup للاستخراج، وواجهة برمجة تطبيقات OpenAI للتلخيص، وواجهة ويب بسيطة مبنية باستخدام Flask. إجمالي وقت التطوير: ربما أربعون ساعة موزعة على ثلاثة أسابيع، معظمها تمت برمجته خلال الفترات الميتة بين طلبات الرحلات.
أطلقت المشروع بهدوء، نشرته على r/vancouver، وتوقعت ربما اثني عشر شخصاً ليجربوه. بدلاً من ذلك، استيقظت على مئات المستخدمين وأول فاتورة من OpenAI جعلتني أتفقد حسابي البنكي مذعوراً. عندها أدركت أنني بحاجة لأخذ هذا الأمر بجدية — ليس فقط كمشروع جانبي، ولكن كعمل حقيقي.
كان منحنى التعلّم حاداً. كنت أعرف كيف أبرمج، لكنني لم أعرف شيئاً عن إدارة المنتجات، أو ردود فعل المستخدمين، أو كيفية تسعير الخدمات المدعومة بالذكاء الاصطناعي. ارتكبت كل خطأ ممكن: الإفراط في هندسة ميزات لم يطلبها أحد، والتقليل من تقدير تكاليف API، والبناء لنفسي بدلاً من مستخدمي. كانت إيرادات شهري الثاني ضئيلة لأنني قضيت وقتاً طويلاً في إضافة ميزات لدرجة أنني نسيت إصلاح الأخطاء التي كانت تُبعد الناس.
واقع الذكاء الاصطناعي في فانكوفر
بناء منتجات الذكاء الاصطناعي في فانكوفر يأتي مع تحديات فريدة. لسنا Silicon Valley — ليس لدينا تمويل غير محدود من رأس المال الاستثماري أو ثقافة تحتفي بالفشل كتعلم. نحن لسنا Toronto أيضاً، بمنظومتها التقنية الراسخة ودعمها الحكومي. نحن في مكان ما بينهما، مما يعني أنه يجب أن نكون أكثر ابتكاراً وإبداعاً في كيفية بناء وإطلاق المنتجات.
تكلفة المعيشة هنا تؤثر على كل شيء. عندما يلتهم الإيجار وأقساط السيارة معظم دخلك، لا يمكنك تحمل تكاليف قضاء أشهر في بناء المنتج المثالي. أنت بحاجة لشيء يدر إيرادات بسرعة، حتى لو كان فقط كافياً لتغطية فواتير OpenAI وربما قهوة لا تأتي من محطة بنزين.
أعمل من سيارتي كثيراً. ليس بالاختيار — مساحات العمل المشتركة في فانكوفر تكلف أكثر من فاتورة هاتفي الشهرية، والمقاهي تطردك بعد بضع ساعات. لكن هناك شيئاً محرراً في أن يكون مكتبك أينما تركن. لقد صححت أخطاء نماذج التعلم الآلي في موقف سيارات Metrotown، وصقلت التعليمات (prompts) أثناء الانتظار خارج YVR لانتظار طلبات الاستلام، ودفعت الكود إلى الإنتاج من Tim Hortons في شارع Granville الساعة 2 صباحاً.
وضع الإنترنت مثير للاهتمام دائماً. شبكة WiFi العامة في فانكوفر ضعيفة في أحسن الأحوال، لذلك أصبحت خبيراً في العثور على النقاط المثالية — المقصورة الركنية في Blenz حيث يمكنك رؤية جهاز التوجيه، ومكان الوقوف خارج فرع المكتبة ذي الإشارة الأقوى، و McDonald's في شارع Broadway التي تمتلك سرعات رفع أفضل بطريقة ما من شقتي.
ما غيّر المعادلة فعلاً
جاء الاختراق عندما توقفت عن محاولة بناء ChatGPT التالي وبدأت التركيز على حل مشاكل محددة لأشخاص محددين. منتجاتي الناجحة ليست ثورية — إنها فقط مفيدة بما يكفي لدرجة أن الناس على استعداد لدفع اشتراك شهري مقابلها.
المنتج الثاني كان محلل قوائم الإيجار لسوق الإسكان في فانكوفر. أي شخص بحث عن شقة هنا يعرف الألم: صور مضللة، أوصاف غامضة، أسعار تجعلك تشكك في خياراتك الحياتية. بنيت أداة تستخرج بيانات Craigslist وFacebook Marketplace، وتحلل القوائم باستخدام GPT-4، وتضع علامات على الأعلام الحمراء المحتملة أو تبرز الصفقات الحقيقية. كان الذكاء الاصطناعي يسجل القوائم بناءً على السعر لكل قدم مربع، والقرب من وسائل النقل العام، وجودة الوصف.
كان الهيكل التقني مشابهاً لمنتجي الأول، لكنني تعلمت إبقاء التكاليف تحت السيطرة. بدلاً من معالجة كل قائمة في الوقت الفعلي، قمت بتجميع الطلبات خلال ساعات الذروة المنخفضة عندما تكون أسعار OpenAI أقل. بدلاً من تخزين كل شيء في قاعدة بيانات، استخدمت ملفات JSON بسيطة وأعدت إنشاء البيانات يومياً. بدلاً من واجهة مستخدم معقدة، أنشأت ملخصاً بسيطاً عبر البريد الإلكتروني يمكن للأشخاص الاشتراك فيه.
الإطلاق كان مختلفاً هذه المرة. قضيت أسبوعاً في النشر في مجموعات Facebook في فانكوفر، ومجتمعات Reddit، وحتى بعض خوادم Discord التي وجدتها لأشخاص يبحثون عن شقق في المدينة. كان الرد فورياً — في غضون أيام، كان لدي عدد ذو معنى من المشتركين. الأهم من ذلك، كان لدي التحقق من أنني وجدت مشكلة حقيقية تستحق الحل.
المنتج الثالث جاء من إحباطي الشخصي من مشهد المطاعم في فانكوفر. ليس الجودة — المدينة لديها طعام رائع — ولكن مشكلة الاكتشاف. تقييمات Yelp غير مفيدة في الغالب، وتقييمات Google غير متسقة، ومدونات الطعام إما محتوى مدفوع أو مكتوبة من قبل أشخاص لديهم أذواق مختلفة جداً عن أذواقي. بنيت محرك توصيات للمطاعم يحلل التقييمات من مصادر متعددة، ويحدد الآراء الحقيقية من المزيفة المحتملة، ويقدم توصيات مخصصة بناءً على تفضيلاتك.
كان مكون الذكاء الاصطناعي أكثر تطوراً هذه المرة. استخدمت التضمينات (embeddings) لرسم خريطة لمشاعر التقييم وتفضيلات المطبخ، وبنيت خوارزمية توصيات تتعلم من ردود فعل المستخدمين، وحتى أضفت ميزة تقترح أطباقاً للطلب بناءً على التقييمات الأخيرة التي تذكر عناصر قائمة محددة. أطلقته فقط عندما كانت فانكوفر تعيد فتحها بعد قيود COVID.
عملية التطوير الحقيقية
يسألني الناس دائماً عن عملية التطوير الخاصة بي، متوقعين منهجية متطورة. الواقع أكثر فوضوية بكثير. أبرمج في لحظات مسروقة — خمس عشرة دقيقة بينما يركض أحد الركاب إلى متجر، ساعة خلال استراحة الغداء في وظيفتي اليومية، جلسات لمدة ثلاث ساعات صباح يوم الأحد قبل أن تستيقظ المدينة.
إعدادي بسيط بالضرورة. جهاز MacBook Pro مجدد، وشاحن سيارة شهد أياماً أفضل، ونقطة اتصال متنقلة للحالات التي لا تتوفر فيها WiFi. أستخدم VS Code مع عدد قليل من الإضافات الأساسية، وأبقي بيئاتي بسيطة، وأعتمد بشكل كبير على الخدمات السحابية لأنني لا أستطيع ضمان أين سأعمل من يوم لآخر.
التحكم في الإصدارات يتم عبر GitHub، ولكن رسائل الالتزام (commit messages) الخاصة بي تخالف على الأرجح كل دليل أفضل الممارسات الذي كُتب على الإطلاق. "أصلح الشيء الذي كان معطلاً" و"استدعاءات API تعمل الآن" هي إدخالات شائعة في تواريخ مشاريعي. التوثيق ضئيل — ليس لأنني لا أؤمن به، ولكن لأنه عندما يكون لديك ثلاثون دقيقة لتنفيذ ميزة قبل طلب الرحلة التالي، فإنك تحدد أولويات مختلفة.
الاختبار معظمه يدوي ومعظمه يتم في الإنتاج. أعرف أن هذا يجعل المطورين المخضرمين يشعرون بالانزعاج، ولكن عندما تكون فريقاً من شخص واحد تبني منتجات تعالج عدداً معقولاً من الطلبات يومياً، فإن الأعباء الإضافية لأطر الاختبار المناسبة غالباً لا تستحق العناء. أقوم باختبار المسارات الحرجة بشكل هوسي — أي شيء يتعلق بالمدفوعات أو البيانات التي يعتمد عليها المستخدمون يحصل على فحوصات متعددة — ولكن التعديلات على واجهة المستخدم والميزات الجميلة يتم شحنها بأقل قدر من التحقق.
دعم العملاء يتم من خلال نموذج اتصال بسيط وبريدي الإلكتروني الشخصي. وجدت أن كوني سريع الاستجابة وإنسانياً في تفاعلات الدعم يخلق ولاءً أكثر من وجود مركز مساعدة مصقول. عندما يرسل شخص ما بريداً إلكترونياً عن خطأ برمجي، يتلقى رداً مني شخصياً، عادةً في غضون ساعات قليلة. عندما يقترح شخص ما ميزة، أخبره بصراحة عما إذا كان بإمكاني بنائها ومتى قد يتوقعها.
حقيقة المال
دعنا نتحدث عن الأرقام، لأن هذا ما يريد الجميع معرفته حقاً. منتجاتي الثلاثة تحقق حالياً إيرادات شهرية متكررة ثابتة. قد لا يبدو هذا كثيراً مقارنة بقصص نجاح Silicon Valley، ولكن في فانكوفر، هو الفرق بين الضغط المالي ومجال للتنفس المالي.
التكاليف يمكن التحكم فيها ولكنها كبيرة. استدعاءات API من OpenAI هي أكبر نفقاتي عبر جميع المنتجات. استضافة الخوادم هي تكلفة شهرية أخرى. أسماء النطاقات، وشهادات SSL، وخدمة البريد الإلكتروني، وأدوات التحليلات — الاشتراكات الصغيرة تتراكم. أكبر نفقاتي هي في الواقع الوقت — تكلفة الفرصة البديلة للساعات التي تقضيها في البرمجة بدلاً من القيادة، والتي يمكن أن تكون كبيرة في الليالي المزدحمة.
الإيرادات تأتي بالكامل من الاشتراكات. جربت المشتريات لمرة واحدة ونماذج freemium، ولكن الاشتراكات الشهرية توفر الدخل المتوقع الذي يجعل هذا مستداماً. أسعاري متواضعة عمداً — أفضل أن يكون لدي المزيد من العملاء يدفعون أقل لكل منهم بدلاً من عدد أقل من العملاء يدفعون أكثر. فانكوفر ليست سان فرانسيسكو؛ الناس هنا حساسون للسعر ومستعدون للتبديل إذا أصبح شيء ما باهظ الثمن.
الأنماط الموسمية مثيرة للاهتمام. محلل الإيجارات لدي يحقق أفضل أداء في الربيع والخريف عندما يبحث الناس عن شقق. أداة المطاعم تبلغ ذروتها خلال الصيف وموسم الأعياد. ملخص الأخبار ثابت على مدار العام ولكن يرتفع خلال فترات الانتخابات أو القرارات الكبرى لمجلس المدينة.
أعيد استثمار معظم الأرباح في المنتجات — خوادم أفضل خلال أوقات الذروة، وميزات API جديدة عندما تطلقها OpenAI، وإعلانات مدفوعة عرضية على مجموعات Facebook المحلية. أبقي تضخم نمط حياتي في حده الأدنى لأن هذا الدخل غير مضمون، وأتذكر بوضوح شديد الشعور بالاضطرار للاختيار بين مال البنزين ومال البقالة.
مجموعة الإخفاقات
مقابل كل منتج نجح، بنيت ثلاثة لم تنجح. كان هناك تطبيق اكتشاف الأحداث المدعوم بالذكاء الاصطناعي الذي لم يستخدمه أحد لأن Facebook قد حل تلك المشكلة بالفعل. وجدول الوسائط الاجتماعية الآلي للشركات المحلية الذي قضيت شهرين في بنائه قبل أن أدرك أن عملائي المستهدفين لا يستطيعون تحمل الاشتراكات الشهرية. ومساعد التمويل الشخصي الذي كان معقداً جداً للأشخاص الذين يريدون ميزانية بسيطة وبسيطاً جداً للأشخاص الذين يريدون تحليلاً معقداً.
أصعب فشل كان أداة للعاملين لحسابهم الخاص في فانكوفر لتحليل إعلانات الوظائف واقتراح استراتيجيات التسعير المثلى. كنت مقتنعاً بأن هذا سيكون ضخماً — كل عامل مستقل أعرفه كان يعاني من التسعير، وبدا الذكاء الاصطناعى مثالياً لتحليل معدلات السوق والمنافسة. قضيت أربعة أشهر في بنائه، وأنشأت شخصيات مفصلة، وحتى بعت اشتراكات مسبقة لمختبرين تجريبيين.
لقد فشل فشلاً ذريعاً. أراد العاملون المستقلون نصائح بشرية حول التسعير، وليس اقتراحات خوارزمية. أرادوا مجتمعاً وتواصلاً، وليس تحليل بيانات. كنت قد بنيت حلاً لمشكلة لم تكن موجودة فعلاً بالطريقة التي اعتقدتها. هذا الفشل علمني عن ملاءمة المنتج للسوق أكثر من أي قصة نجاح.
ما هو التالي
لا أحاول بناء الشركة الأحادية التالية أو الاستحواذ من قبل Google. أحاول بناء منتجات مستدامة ومربحة تحل مشاكل حقيقية لأشخاص في مدينتي. موجة الذكاء الاصطناعي لن تدوم للأبد بشكلها الحالي، ولكن الحاجة الأساسية لأدوات وأتمتة أفضل ستستمر.
منتجي التالي قيد التطوير بالفعل — مساعد ذكاء اصطناعي لأصحاب الأعمال الصغيرة في فانكوفر يساعد في كل شيء من كتابة منشورات وسائل التواصل الاجتماعي إلى تحليل ردود فعل العملاء. يعتمد على محادثات أجريتها مع العشرات من أصحاب الأعمال المحليين أثناء الرحلات، ويشير الاختبار المبكر إلى أنني على وشك اكتشاف شيء مهم.
الهدف طويل المدى ليس استبدال دخلي من القيادة بالكامل، على الرغم من أن هذا قد يحدث في النهاية. إنه خلق إيرادات متكررة كافية تمنحني المرونة والخيارات. عندما لا تعيش من راتب إلى راتب، يمكنك المخاطرة بشكل أكبر والتفكير على المدى الطويل.
بناء منتجات الذكاء الاصطناعي بين رحلات Uber ليس براقاً، لكنه علمني أن الابتكار لا يتطلب ظروفاً مثالية أو موارد غير محدودة. إنه يتطلب فقط المثابرة، والاستعداد للفشل بسرعة، والقدرة على إيجاد الفرص في المساحات بين الالتزامات الأخرى. قد لا تكون فانكوفر Silicon Valley، ولكن هذا هو بالضبط سبب كونها المكان المثالي لبناء منتجات تحل مشاكل حقيقية لأناس حقيقيين.
KI-Produkte zwischen Fahrten entwickeln: Die wahre Geschichte eines Vancouver Entwicklers
Vor zwei Jahren saß ich um 23 Uhr vor einem Bürogebäude in der Innenstadt von Vancouver, der Motor lief im Leerlauf, während mein Fahrgast ein Telefonat beendete, als ich die Benachrichtigung erhielt, die alles veränderte. Mein erstes KI-Nebenprojekt hatte gerade eine nennenswerte Anzahl von API-Aufrufen verarbeitet. Kein lebensveränderndes Geld, aber in diesem Moment klickte etwas. Ich fuhr nicht mehr nur Leute durch die Gegend – ich baute etwas, das arbeiten konnte, während ich schlief.
Heute, zwischen Fahrten und nächtlichen Codiersessions in Cafés quer durch die Stadt, habe ich drei KI-Produkte gestartet, die zusammen deutlich mehr einbringen als mein bisheriger Hauptjob es je tat. Ich werde nicht so tun, als wäre das eine Über-Nacht-Erfolgsgeschichte gewesen oder als hätte ich einen geheimen Code geknackt. Das hier ist die chaotische, koffeingetriebene Realität des Bauens von KI-Produkten als Entwickler in Vancouver mit mehr Ehrgeiz als Freizeit.
Die Geschichte, die ich gleich erzähle, handelt nicht von revolutionären Durchbrüchen oder Risikokapital. Es geht darum, Momente zwischen Uber-Fahrten zu stehlen, Code auf McDonald's-Parkplätzen zu debuggen und die langsame Erkenntnis, dass der KI-Goldrausch nicht mehr nur für das Silicon Valley ist. Es geht auch darum, zu lernen, schnell zu liefern und noch schneller zu iterieren – denn wenn dein Büro dein Auto ist und deine Entwicklungszeit in fahrgastfreien Intervallen gemessen wird, zählt jede Minute.
Der zufällige KI-Entwickler
Ich begann nicht damit, KI-Produkte zu bauen, weil ich eine große Vision von der Zukunft der Technologie hatte. Ich begann, weil ich es leid war, Zeit gegen Geld zu tauschen, und die API von OpenAI gerade zugänglich genug geworden war, dass jemand wie ich – ein autodidaktischer Entwickler mit solidem Python-Hintergrund und zu viel Zeit im Verkehr von Vancouver – tatsächlich etwas Nützliches bauen konnte.
Mein erstes Projekt war peinlich einfach: ein Tool zur Zusammenfassung von Inhalten lokaler Nachrichtenseiten. Mir war aufgefallen, dass die Medienlandschaft in Vancouver zersplittert war – wichtige Stadtratsentscheidungen, vergraben in langen Artikeln, Wohnungspolitische Updates, verstreut über mehrere Quellen, Verkehrsänderungen, die in Formaten angekündigt wurden, die sie unmöglich auffindbar machten. Ich baute einen Scraper, der Artikel von großen Vancouver Nachrichtenquellen zog und GPT nutzte, um verdauliche Zusammenfassungen zu erstellen.
Die technische Umsetzung war einfach. Ein Python-Skript, das auf einem DigitalOcean-Droplet lief, BeautifulSoup zum Scrapen, die OpenAI-API zur Zusammenfassung und eine einfache Weboberfläche, gebaut mit Flask. Gesamtentwicklungszeit: vielleicht vierzig Stunden über drei Wochen verteilt, größtenteils in den toten Zeiten zwischen Fahrtenanfragen codiert.
Ich startete es leise, postete es auf r/vancouver und erwartete vielleicht ein Dutzend Nutzer. Stattdessen wachte ich mit Hunderten von Nutzern und meiner ersten OpenAI-Rechnung auf, die mich panisch auf mein Bankkonto schauen ließ. In diesem Moment wurde mir klar, dass ich das ernst nehmen musste – nicht nur als Nebenprojekt, sondern als echtes Geschäft.
Die Lernkurve war steil. Ich wusste, wie man codiert, aber ich wusste nichts über Produktmanagement, Nutzerfeedback oder wie man KI-gestützte Dienste bepreist. Ich machte jeden erdenklichen Fehler: Überengineering von Funktionen, die niemand verlangte, Unterschätzung der API-Kosten, Bauen für mich selbst anstatt für meine Nutzer. Mein Umsatz im zweiten Monat war minimal, weil ich so viel Zeit damit verbracht hatte, Funktionen hinzuzufügen, dass ich vergaß, die Fehler zu beheben, die die Leute vertrieben.
Die Vancouver KI-Realität
KI-Produkte in Vancouver zu bauen bringt einzigartige Herausforderungen mit sich. Wir sind nicht das Silicon Valley – wir haben keine unbegrenzte VC-Finanzierung oder eine Kultur, die Scheitern als Lernen feiert. Wir sind auch nicht Toronto mit seinem etablierten Tech-Ökosystem und staatlicher Unterstützung. Wir sind irgendwo dazwischen, was bedeutet, dass wir einfallsreicher und kreativer sein müssen, wie wir Produkte bauen und starten.
Die Lebenshaltungskosten hier beeinflussen alles. Wenn deine Miete und Autozahlung den Großteil deines Einkommens auffressen, kannst du es dir nicht leisten, Monate damit zu verbringen, das perfekte Produkt zu bauen. Du brauchst etwas, das schnell Einnahmen generiert, selbst wenn es nur genug ist, um deine OpenAI-Rechnungen und vielleicht einen Kaffee zu decken, der nicht von einer Tankstelle kommt.
Ich arbeite viel aus meinem Auto heraus. Nicht freiwillig – Coworking-Spaces in Vancouver kosten mehr als meine monatliche Telefonrechnung, und Cafés werfen dich nach ein paar Stunden raus. Aber es hat etwas Befreiendes, sein Büro dort zu haben, wo man parkt. Ich habe Machine-Learning-Modelle auf dem Parkplatz von Metrotown debugged, Prompts verfeinert, während ich vor YVR auf Abholanfragen wartete, und Code von einem Tim Hortons an der Granville Street um 2 Uhr morgens in Produktion gebracht.
Die Internetsituation ist immer interessant. Vancouvers öffentliches WLAN ist bestenfalls lückenhaft, also bin ich ein Experte darin geworden, die idealen Punkte zu finden – die Ecknische bei Blenz, von der man den Router sieht, der Parkplatz vor der Bibliotheksfiliale mit dem stärksten Signal, der McDonald's am Broadway, der irgendwie schnellere Upload-Geschwindigkeiten hat als meine Wohnung.
Was die Wende gebracht hat
Der Durchbruch kam, als ich aufhörte, den nächsten ChatGPT bauen zu wollen, und mich darauf konzentrierte, spezifische Probleme für spezifische Leute zu lösen. Meine erfolgreichen Produkte sind nicht revolutionär – sie sind nur nützlich genug, dass Leute bereit sind, monatlich dafür zu zahlen.
Produkt Nummer zwei war ein Mietangebots-Analysator für Vancouvers Wohnungsmarkt. Jeder, der hier nach einer Wohnung gesucht hat, kennt den Schmerz: irreführende Fotos, vage Beschreibungen, Preise, die dich deine Lebensentscheidungen hinterfragen lassen. Ich baute ein Tool, das Craigslist und Facebook Marketplace scrapen, Angebote mit GPT-4 analysieren und potenzielle Warnsignale markieren oder echte Schnäppchen hervorheben würde. Die KI bewertete Angebote basierend auf Preis pro Quadratfuß, Nähe zu öffentlichen Verkehrsmitteln und Beschreibungsqualität.
Der technische Stack ähnelte meinem ersten Produkt, aber ich hatte gelernt, die Kosten im Griff zu behalten. Anstatt jedes Angebot in Echtzeit zu verarbeiten, bündelte ich Anfragen außerhalb der Hauptverkehrszeiten, wenn die Tarife von OpenAI niedriger waren. Anstatt alles in einer Datenbank zu speichern, verwendete ich einfache JSON-Dateien und generierte die Daten täglich neu. Anstatt einer komplexen Benutzeroberfläche erstellte ich eine einfache E-Mail-Zusammenfassung, die Leute abonnieren konnten.
Der Start war dieses Mal anders. Ich verbrachte eine Woche damit, in Vancouver Facebook-Gruppen, Reddit-Communities und sogar einigen Discord-Servern zu posten, die ich für Wohnungssuchende in der Stadt gefunden hatte. Die Resonanz war sofort – innerhalb von Tagen hatte ich eine nennenswerte Anzahl von Abonnenten. Noch wichtiger: Ich hatte die Bestätigung, dass ich ein echtes Problem gefunden hatte, das es zu lösen galt.
Produkt Nummer drei entstand aus meiner eigenen Frustration über die Restaurantszene in Vancouver. Nicht die Qualität – die Stadt hat unglaubliches Essen – sondern das Problem, sie zu entdecken. Yelp-Bewertungen sind meist nutzlos, Google-Bewertungen inkonsistent, und Food-Blogs sind entweder gesponserter Content oder von Leuten mit ganz anderen Geschmäckern als meinem. Ich baute eine Restaurant-Empfehlungsmaschine, die Bewertungen aus mehreren Quellen analysiert, echte Meinungen von wahrscheinlich gefälschten unterscheidet und personalisierte Empfehlungen basierend auf deinen Vorlieben gibt.
Die KI-Komponente war diesmal ausgefeilter. Ich nutzte Embeddings, um Bewertungsstimmungen und Küchenvorlieben abzubilden, baute einen Empfehlungsalgorithmus, der aus Nutzerfeedback lernte, und fügte sogar eine Funktion hinzu, die Gerichte zum Bestellen vorschlug, basierend auf aktuellen Bewertungen, die bestimmte Menüpunkte erwähnten. Ich startete es gerade, als Vancouver nach den COVID-Beschränkungen wieder öffnete.
Der eigentliche Entwicklungsprozess
Die Leute fragen mich immer nach meinem Entwicklungsprozess und erwarten eine ausgeklügelte Methodik. Die Realität ist viel chaotischer. Ich code in gestohlenen Momenten – fünfzehn Minuten, während ein Fahrgast kurz in einen Laden rennt, eine Stunde in der Mittagspause bei meinem Hauptjob, drei-Stunden-Sitzungen am Sonntagmorgen, bevor die Stadt aufwacht.
Mein Setup ist aus Notwendigkeit minimal. Ein generalüberholtes MacBook Pro, ein Autoladegerät, das schon bessere Tage gesehen hat, und ein mobiler Hotspot für Zeiten ohne WLAN. Ich verwende VS Code mit ein paar wesentlichen Erweiterungen, halte meine Umgebungen einfach und verlasse mich stark auf Cloud-Dienste, weil ich nicht garantieren kann, wo ich von Tag zu Tag arbeiten werde.
Versionskontrolle läuft über GitHub, aber meine Commit-Nachrichten verstoßen wahrscheinlich gegen jeden Best-Practice-Leitfaden, der je geschrieben wurde. „Das kaputte Ding gefixt" und „API-Aufrufe funktionieren jetzt" sind häufige Einträge in meinen Projekthistorien. Dokumentation ist minimal – nicht, weil ich nicht daran glaube, sondern weil man anders priorisiert, wenn man dreißig Minuten Zeit hat, eine Funktion zu implementieren, bevor die nächste Fahrtanfrage kommt.
Tests sind meist manuell und meist in der Produktion. Ich weiß, dass erfahrene Entwickler dabei zusammenzucken, aber wenn man ein Ein-Mann-Team ist, das Produkte baut, die eine überschaubare Anzahl von Anfragen pro Tag verarbeiten, ist der Aufwand für richtige Test-Frameworks es oft nicht wert. Ich teste die kritischen Pfade obsessiv – alles, was Zahlungen oder Daten betrifft, auf die Nutzer angewiesen sind, bekommt mehrere Durchläufe – aber die UI-Anpassungen und Nice-to-have-Funktionen werden mit minimaler Validierung ausgeliefert.
Kundensupport läuft über ein einfaches Kontaktformular und meine persönliche E-Mail. Ich habe festgestellt, dass reaktionsschnell und menschlich im Support mehr Loyalität schafft als ein poliertes Hilfecenter. Wenn jemand wegen eines Fehlers mailt, bekommen sie persönlich eine Antwort von mir, normalerweise innerhalb weniger Stunden. Wenn jemand eine Funktion vorschlägt, sage ich ihnen ehrlich, ob ich sie bauen kann und wann sie sie erwarten können.
Die Geld-Realität
Lass uns über Zahlen sprechen, denn das wollen ja alle wirklich wissen. Meine drei Produkte generieren derzeit einen stetigen monatlichen wiederkehrenden Umsatz. Das klingt vielleicht nicht viel im Vergleich zu Silicon-Valley-Erfolgsgeschichten, aber in Vancouver macht es den Unterschied zwischen finanziellem Stress und finanzieller Atempause.
Die Kosten sind handhabbar, aber signifikant. OpenAI-API-Aufrufe sind meine größte Ausgabe über alle Produkte hinweg. Server-Hosting ist ein weiterer monatlicher Kostenpunkt. Domainnamen, SSL-Zertifikate, E-Mail-Dienst, Analyse-Tools – die kleinen Abos summieren sich. Meine größte Ausgabe ist tatsächlich die Zeit – die Opportunitätskosten der Stunden, die mit Codieren statt Fahren verbracht werden, was an geschäftigen Abenden beträchtlich sein kann.
Die Einnahmen kommen vollständig von Abonnements. Ich habe Einmalkäufe und Freemium-Modelle ausprobiert, aber monatliche Abos bieten das vorhersehbare Einkommen, das dies nachhaltig macht. Meine Preise sind bewusst bescheiden – ich habe lieber mehr Kunden, die weniger zahlen, als weniger Kunden, die mehr zahlen. Vancouver ist nicht San Francisco; die Leute hier sind preisbewusst und wechseln bereitwillig, wenn etwas zu teuer wird.
Die saisonalen Muster sind interessant. Mein Miet-Analysator läuft im Frühjahr und Herbst am besten, wenn die Leute Wohnungen suchen. Das Restaurant-Tool hat Hochsaison im Sommer und zu den Feiertagen. Der Nachrichten-Zusammenfasser ist das ganze Jahr über stabil, hat aber Spitzen während Wahlperioden oder wichtigen Stadtratsentscheidungen.
Ich reinvestiere die meisten Gewinne in die Produkte – bessere Server während Spitzenauslastung, neue API-Funktionen, wenn OpenAI sie veröffentlicht, gelegentliche bezahlte Werbung in lokalen Facebook-Gruppen. Ich halte meinen Lebensstil minimal, denn dieses Einkommen ist nicht garantiert, und ich erinnere mich nur zu gut daran, wie es sich anfühlte, zwischen Benzingeld und Lebensmittelgeld zu wählen.
Die Fehlersammlung
Für jedes Produkt, das funktionierte, baute ich drei, die es nicht taten. Da war die KI-gestützte Event-Entdeckungs-App, die niemand nutzte, weil Facebook dieses Problem bereits gelöst hatte. Der automatische Social-Media-Planer für lokale Unternehmen, für dessen Bau ich zwei Monate brauchte, bevor ich merkte, dass meine Zielkunden sich keine monatlichen Abos leisten konnten. Der persönliche Finanzassistent, der zu komplex war für Leute, die einfache Budgetierung wollten, und zu einfach für Leute, die komplexe Analysen wollten.
Der schwerste Fehlschlag war ein Tool für Freelancer in Vancouver, das Stellenausschreibungen analysieren und optimale Preisstrategien vorschlagen sollte. Ich war überzeugt, dass das ein Riesenerfolg würde – jeder Freelancer, den ich kannte, kämpfte mit der Preisgestaltung, und KI schien perfekt, um Marktpreise und Konkurrenz zu analysieren. Ich verbrachte vier Monate mit dem Bau, erstellte detaillierte Personas und verkaufte sogar Abos im Vorverkauf an Beta-Tester.
Es floppte komplett. Freelancer wollten menschliche Beratung zur Preisgestaltung, keine algorithmischen Vorschläge. Sie wollten Gemeinschaft und Netzwerken, keine Datenanalyse. Ich hatte eine Lösung für ein Problem gebaut, das in der Form, wie ich dachte, gar nicht existierte. Dieser Fehlschlag lehrte mich mehr über Product-Market-Fit, als es jede Erfolgsgeschichte je könnte.
Was als Nächstes kommt
Ich versuche nicht, das nächste Einhorn zu bauen oder von Google übernommen zu werden. Ich versuche, nachhaltige, profitable Produkte zu bauen, die echte Probleme für Menschen in meiner Stadt lösen. Die KI-Welle wird in ihrer jetzigen Form nicht ewig halten, aber das zugrundeliegende Bedürfnis nach besseren Werkzeugen und Automatisierung wird bestehen bleiben.
Mein nächstes Produkt ist bereits in Entwicklung – ein KI-Assistent für Kleinunternehmer in Vancouver, der bei allem hilft, vom Schreiben von Social-Media-Beiträgen bis zur Analyse von Kundenfeedback. Es basiert auf Gesprächen, die ich während Fahrten mit Dutzenden lokalen Geschäftsinhabern geführt habe, und erste Tests deuten darauf hin, dass ich auf etwas gestoßen bin.
Das langfristige Ziel ist nicht, mein Fahreinkommen vollständig zu ersetzen, auch wenn das irgendwann passieren könnte. Es geht darum, genug wiederkehrende Einnahmen zu schaffen, dass ich Flexibilität und Optionen habe. Wenn man nicht von Gehaltsscheck zu Gehaltsscheck lebt, kann man größere Risiken eingehen und langfristiger denken.
KI-Produkte zwischen Uber-Fahrten zu bauen ist nicht glamourös, aber es hat mir gelehrt, dass Innovation keine perfekten Bedingungen oder unbegrenzte Ressourcen erfordert. Es erfordert nur Beharrlichkeit, die Bereitschaft, schnell zu scheitern, und die Fähigkeit, Chancen in den Zwischenräumen anderer Verpflichtungen zu finden. Vancouver ist vielleicht nicht das Silicon Valley, aber genau deshalb ist es der perfekte Ort, um Produkte zu bauen, die echte Probleme für echte Menschen lösen.
Creando Productos de IA Entre Viajes: La Historia Real de un Desarrollador en Vancouver
Hace dos años, estaba estacionado afuera de un edificio de oficinas en el centro de Vancouver a las 11 PM, con el motor encendido mientras mi pasajero terminaba una llamada, cuando recibí la notificación que lo cambió todo. Mi primer proyecto secundario de IA acababa de procesar un número significativo de llamadas API. No era exactamente dinero que cambiara la vida, pero algo hizo clic en ese momento. Ya no solo estaba llevando gente de un lado a otro — estaba construyendo algo que podía funcionar mientras yo dormía.
Hoy, entre viajes y sesiones de programación nocturnas en cafeterías de toda la ciudad, he lanzado tres productos de IA que en conjunto generan significativamente más de lo que mi trabajo diario nunca hizo. No voy a fingir que esto fue una historia de éxito de la noche a la mañana ni que descifré algún código secreto. Esta es la realidad caótica y cargada de cafeína de crear productos de IA como desarrollador en Vancouver con más ambición que tiempo libre.
La historia que estoy a punto de compartir no trata sobre avances revolucionarios o capital de riesgo. Se trata de robar momentos entre recogidas de Uber, depurar código en estacionamientos de McDonald's, y la lenta realización de que la fiebre del oro de la IA ya no es solo para Silicon Valley. También se trata de aprender a lanzar rápido e iterar más rápido — porque cuando tu oficina es tu auto y tu tiempo de desarrollo se mide en intervalos sin pasajeros, cada minuto cuenta.
El Desarrollador de IA Accidental
No empecé a construir productos de IA porque tuviera una gran visión sobre el futuro de la tecnología. Empecé porque estaba cansado de intercambiar tiempo por dinero, y la API de OpenAI se había vuelto lo suficientemente accesible como para que alguien como yo — un desarrollador autodidacta con un conocimiento decente de Python y demasiado tiempo perdido en el tráfico de Vancouver — pudiera realmente construir algo útil.
Mi primer proyecto fue vergonzosamente simple: una herramienta de resumen de contenido para sitios de noticias locales. Noté que el panorama mediático de Vancouver estaba fragmentado — decisiones importantes del concejo municipal enterradas en artículos extensos, actualizaciones de políticas de vivienda dispersas en múltiples fuentes, cambios en el transporte público anunciados en formatos que los hacían imposibles de encontrar. Construí un raspador web que extraía artículos de las principales fuentes de noticias de Vancouver y usaba GPT para crear resúmenes digeribles.
La implementación técnica era básica. Un script de Python ejecutándose en un droplet de DigitalOcean, BeautifulSoup para el raspado, la API de OpenAI para el resumen, y una interfaz web simple construida con Flask. Tiempo total de desarrollo: quizás cuarenta horas distribuidas en tres semanas, mayormente programadas durante los períodos muertos entre solicitudes de viaje.
Lo lancé discretamente, lo publiqué en r/vancouver, y esperaba que quizás una docena de personas lo probaran. En cambio, me desperté con cientos de usuarios y mi primera factura de OpenAI que me hizo revisar mi cuenta bancaria con pánico. Fue entonces cuando me di cuenta de que necesitaba tomarme esto en serio — no solo como un proyecto secundario, sino como un negocio real.
La curva de aprendizaje fue empinada. Sabía programar, pero no sabía nada sobre gestión de productos, comentarios de usuarios, o cómo fijar el precio de servicios impulsados por IA. Cometí todos los errores posibles: sobreingeniería de funciones que nadie pidió, subestimación de costos de API, construir para mí mismo en lugar de para mis usuarios. Los ingresos de mi segundo mes fueron mínimos porque había pasado tanto tiempo añadiendo funciones que olvidé corregir los errores que estaban ahuyentando a la gente.
La Realidad de la IA en Vancouver
Construir productos de IA en Vancouver conlleva desafíos únicos. No somos Silicon Valley — no tenemos financiamiento ilimitado de capital de riesgo ni una cultura que celebre el fracaso como aprendizaje. Tampoco somos Toronto, con su ecosistema tecnológico establecido y apoyo gubernamental. Estamos en algún punto intermedio, lo que significa que tenemos que ser más ingeniosos y creativos en cómo construimos y lanzamos productos.
El costo de vida aquí afecta todo. Cuando tu alquiler y el pago del auto consumen la mayor parte de tus ingresos, no puedes permitirte pasar meses construyendo el producto perfecto. Necesitas algo que genere ingresos rápidamente, aunque sea solo lo suficiente para cubrir tus facturas de OpenAI y quizás un café que no venga de una gasolinera.
Trabajo mucho desde mi auto. No por elección — los espacios de coworking en Vancouver cuestan más que mi factura telefónica mensual, y las cafeterías te echan después de unas horas. Pero hay algo liberador en tener tu oficina donde sea que estaciones. He depurado modelos de aprendizaje automático en el estacionamiento de Metrotown, refinado indicaciones mientras esperaba afuera de YVR solicitudes de recogida, y enviado código a producción desde un Tim Hortons en Granville Street a las 2 AM.
La situación del internet siempre es interesante. El WiFi público de Vancouver es irregular en el mejor de los casos, así que me he vuelto un experto en encontrar los puntos óptimos: el camarote en la esquina de Blenz donde se ve el router, el lugar de estacionamiento afuera de la sucursal de la biblioteca con la señal más fuerte, el McDonald's en Broadway que de alguna manera tiene mejores velocidades de carga que mi apartamento.
Lo Que Realmente Movió el Indicador
El avance llegó cuando dejé de intentar construir el próximo ChatGPT y comencé a enfocarme en resolver problemas específicos para personas específicas. Mis productos exitosos no son revolucionarios — son lo suficientemente útiles como para que la gente esté dispuesta a pagar mensualmente por ellos.
El producto número dos fue un analizador de listados de alquiler para el mercado inmobiliario de Vancouver. Cualquiera que haya buscado apartamentos aquí conoce el dolor: fotos engañosas, descripciones vagas, precios que te hacen cuestionar tus decisiones de vida. Construí una herramienta que raspaba Craigslist y Facebook Marketplace, analizaba los listados con GPT-4, y señalaba posibles banderas rojas o destacaba ofertas genuinas. La IA puntuaba los listados según el precio por metro cuadrado, la proximidad al transporte público y la calidad de la descripción.
La pila técnica era similar a la de mi primer producto, pero había aprendido a mantener los costos manejables. En lugar de procesar cada listado en tiempo real, agrupaba las solicitudes durante horas de menor actividad cuando las tarifas de OpenAI eran más bajas. En lugar de almacenar todo en una base de datos, usaba archivos JSON simples y regeneraba los datos a diario. En lugar de una interfaz de usuario compleja, creé un resumen de correo electrónico simple al que la gente podía suscribirse.
El lanzamiento fue diferente esta vez. Pasé una semana publicando en grupos de Facebook de Vancouver, comunidades de Reddit, e incluso algunos servidores de Discord que había encontrado para personas que buscaban apartamentos en la ciudad. La respuesta fue inmediata — en cuestión de días, tenía un número significativo de suscriptores. Más importante aún, tuve la validación de que había encontrado un problema real que valía la pena resolver.
El producto número tres surgió de mi propia frustración con la escena gastronómica de Vancouver. No la calidad — la ciudad tiene comida increíble — sino el problema del descubrimiento. Las reseñas de Yelp son mayormente inútiles, las reseñas de Google son inconsistentes, y los blogs de comida son o contenido patrocinado o escritos por personas con gustos muy diferentes a los míos. Construí un motor de recomendación de restaurantes que analizaba reseñas de múltiples fuentes, identificaba opiniones genuinas de las probablemente falsas, y proporcionaba recomendaciones personalizadas basadas en tus preferencias.
El componente de IA era más sofisticado esta vez. Usé embeddings para mapear el sentimiento de las reseñas y las preferencias culinarias, construí un algoritmo de recomendación que aprendía de los comentarios de los usuarios, e incluso agregué una función que sugería platos para pedir basándose en reseñas recientes que mencionaban elementos específicos del menú. Lo lancé justo cuando Vancouver reabría después de las restricciones de COVID.
El Proceso de Desarrollo Real
La gente siempre pregunta sobre mi proceso de desarrollo, esperando alguna metodología sofisticada. La realidad es mucho más caótica. Programo en momentos robados: quince minutos mientras un pasajero entra a una tienda, una hora durante la pausa del almuerzo en mi trabajo diario, sesiones de tres horas los domingos por la mañana antes de que la ciudad despierte.
Mi configuración es mínima por necesidad. Un MacBook Pro reacondicionado, un cargador de auto que ha visto días mejores, y un hotspot móvil para cuando el WiFi no está disponible. Uso VS Code con algunas extensiones esenciales, mantengo mis entornos simples, y dependo en gran medida de los servicios en la nube porque no puedo garantizar dónde estaré trabajando día a día.
El control de versiones se realiza a través de GitHub, pero mis mensajes de commit probablemente violan todas las guías de mejores prácticas jamás escritas. "Arreglé lo que estaba roto" y "Las llamadas API funcionan ahora" son entradas comunes en mis historiales de proyectos. La documentación es mínima — no porque no crea en ella, sino porque cuando tienes treinta minutos para implementar una función antes de tu próxima solicitud de viaje, priorizas de manera diferente.
Las pruebas son mayormente manuales y mayormente hechas en producción. Sé que esto hace que los desarrolladores experimentados se estremezcan, pero cuando eres un equipo de uno construyendo productos que procesan un número razonable de solicitudes al día, la sobrecarga de los marcos de prueba adecuados a menudo no vale la pena. Pruebo los caminos críticos de manera obsesiva — todo lo que involucra pagos o datos de los que los usuarios dependen recibe múltiples pasadas — pero los ajustes de interfaz de usuario y las funciones deseables se envían con una validación mínima.
La atención al cliente se realiza a través de un formulario de contacto simple y mi correo electrónico personal. He descubierto que ser receptivo y humano en las interacciones de soporte crea más lealtad que tener un centro de ayuda pulido. Cuando alguien envía un correo electrónico sobre un error, recibe una respuesta mía personalmente, generalmente en unas pocas horas. Cuando alguien sugiere una función, le digo honestamente si puedo construirla y cuándo podría esperarla.
La Realidad del Dinero
Hablemos de números, porque eso es lo que todos realmente quieren saber. Mis tres productos actualmente generan ingresos recurrentes mensuales estables. Puede que no parezca mucho comparado con las historias de éxito de Silicon Valley, pero en Vancouver, es la diferencia entre el estrés financiero y un margen de maniobra financiero.
Los costos son manejables pero significativos. Las llamadas a la API de OpenAI son mi mayor gasto en todos los productos. El alojamiento del servidor es otro costo mensual. Nombres de dominio, certificados SSL, servicio de correo electrónico, herramientas de análisis — las pequeñas suscripciones se acumulan. Mi mayor gasto es en realidad el tiempo: el costo de oportunidad de las horas dedicadas a programar en lugar de conducir, que en noches ocupadas puede ser sustancial.
Los ingresos provienen completamente de las suscripciones. Probé compras únicas y modelos freemium, pero las suscripciones mensuales proporcionan los ingresos predecibles que hacen que esto sea sostenible. Mis precios son deliberadamente modestos — prefiero tener más clientes pagando menos cada uno que menos clientes pagando más. Vancouver no es San Francisco; la gente aquí es consciente de los precios y está dispuesta a cambiar si algo se vuelve demasiado caro.
Los patrones estacionales son interesantes. Mi analizador de alquileres funciona mejor en primavera y otoño, cuando la gente busca apartamentos. La herramienta de restaurantes alcanza su punto máximo durante el verano y las temporadas festivas. El resumidor de noticias es estable durante todo el año, pero aumenta durante los períodos electorales o decisiones importantes del concejo municipal.
Reinvierto la mayoría de las ganancias en los productos: mejores servidores durante las horas pico de uso, nuevas funciones de API cuando OpenAI las lanza, publicidad paga ocasional en grupos locales de Facebook. Mantengo mi inflación de estilo de vida al mínimo porque estos ingresos no están garantizados, y recuerdo demasiado claramente lo que se sentía tener que elegir entre dinero para gasolina y dinero para comida.
La Colección de Fracasos
Por cada producto que funcionó, construí tres que no. Estaba la aplicación de descubrimiento de eventos impulsada por IA que nadie usó porque Facebook ya había resuelto ese problema. El programador de redes sociales automatizado para negocios locales en el que pasé dos meses construyendo antes de darme cuenta de que mis clientes objetivo no podían permitirse suscripciones mensuales. El asistente de finanzas personales que era demasiado complejo para personas que querían un presupuesto simple y demasiado simple para personas que querían un análisis complejo.
El fracaso más duro fue una herramienta para freelancers de Vancouver que analizaba ofertas de trabajo y sugería estrategias de precios óptimas. Estaba convencido de que esto sería enorme — cada freelancer que conocía luchaba con los precios, y la IA parecía perfecta para analizar tarifas del mercado y competencia. Pasé cuatro meses construyéndola, creé personas detalladas, incluso pre-vendí suscripciones a evaluadores beta.
Fracasó por completo. Los freelancers querían consejos humanos sobre precios, no sugerencias algorítmicas. Querían comunidad y networking, no análisis de datos. Había construido una solución para un problema que en realidad no existía de la manera que pensaba. Ese fracaso me enseñó más sobre el ajuste producto-mercado de lo que cualquier historia de éxito podría haberlo hecho.
Lo Que Sigue
No estoy tratando de construir el próximo unicornio o ser adquirido por Google. Estoy tratando de construir productos sostenibles y rentables que resuelvan problemas reales para personas en mi ciudad. La ola de la IA no durará para siempre en su forma actual, pero la necesidad subyacente de mejores herramientas y automatización continuará.
Mi próximo producto ya está en desarrollo: un asistente de IA para pequeños negocios de Vancouver que ayuda con todo, desde escribir publicaciones en redes sociales hasta analizar comentarios de clientes. Está basado en conversaciones que he tenido con docenas de dueños de negocios locales durante los viajes, y las pruebas tempranas sugieren que estoy en algo.
El objetivo a largo plazo no es reemplazar mis ingresos como conductor por completo, aunque eso podría suceder eventualmente. Es crear suficientes ingresos recurrentes para tener flexibilidad y opciones. Cuando no vives al día, puedes tomar riesgos más grandes y pensar a largo plazo.
Construir productos de IA entre viajes de Uber no es glamoroso, pero me ha enseñado que la innovación no requiere condiciones perfectas o recursos ilimitados. Solo requiere perseverancia, disposición para fracasar rápido, y la capacidad de encontrar oportunidades en los espacios entre otras obligaciones. Vancouver puede no ser Silicon Valley, pero es exactamente por eso que es el lugar perfecto para construir productos que resuelvan problemas reales para personas reales.
Développer des produits d'IA entre deux courses : l'histoire vraie d'un développeur de Vancouver
Il y a deux ans, j'étais garé devant un immeuble de bureaux du centre-ville de Vancouver à 23 h, le moteur tournant pendant que mon passager finissait un appel téléphonique, quand j'ai reçu la notification qui a tout changé. Mon premier projet secondaire d'IA venait de traiter un nombre significatif d'appels API. Pas de quoi changer ma vie financièrement, mais quelque chose a fait tilt à ce moment-là. Je ne me contentais plus de conduire des gens — je construisais quelque chose qui pouvait fonctionner pendant que je dormais.
Aujourd'hui, entre les courses et les sessions de codage tardives dans les cafés de la ville, j'ai lancé trois produits d'IA qui génèrent collectivement bien plus que ce que mon emploi principal ne m'a jamais rapporté. Je ne vais pas prétendre que c'est une success story du jour au lendemain ou que j'ai découvert un code secret. Voici la réalité chaotique, alimentée à la caféine, de la création de produits d'IA en tant que développeur à Vancouver avec plus d'ambition que de temps libre.
L'histoire que je vais partager ne parle pas de percées révolutionnaires ni de capital-risque. Elle parle de moments volés entre les prises en charge Uber, de débogage de code sur les parkings de McDonald's, et de la lente prise de conscience que la ruée vers l'or de l'IA n'est plus réservée à la Silicon Valley. Il s'agit aussi d'apprendre à livrer vite et à itérer encore plus vite — parce que quand votre bureau est votre voiture et que votre temps de développement se mesure en intervalles sans passagers, chaque minute compte.
Le développeur d'IA accidentel
Je n'ai pas commencé à développer des produits d'IA parce que j'avais une vision grandiose de l'avenir de la technologie. J'ai commencé parce que j'en avais marre d'échanger du temps contre de l'argent, et que l'API d'OpenAI était devenue suffisamment accessible pour que quelqu'un comme moi — un développeur autodidacte avec des bases décentes en Python et trop de temps passé dans les embouteillages de Vancouver — puisse réellement construire quelque chose d'utile.
Mon premier projet était d'une simplicité embarrassante : un outil de résumé de contenu pour les sites d'actualités locales. J'avais remarqué que le paysage médiatique de Vancouver était fragmenté — des décisions importantes du conseil municipal enterrées dans de longs articles, des mises à jour sur les politiques de logement dispersées sur plusieurs sources, des changements dans les transports en commun annoncés dans des formats qui les rendaient impossibles à trouver. J'ai construit un scraper qui extrayait les articles des principales sources d'actualités de Vancouver et utilisait GPT pour créer des résumés digestes.
L'implémentation technique était basique. Un script Python tournant sur un droplet DigitalOcean, BeautifulSoup pour le scraping, l'API d'OpenAI pour la synthèse, et une interface web simple construite avec Flask. Temps de développement total : environ quarante heures réparties sur trois semaines, codées principalement pendant les moments creux entre les demandes de course.
Je l'ai lancé discrètement, posté sur r/vancouver, et je m'attendais à ce qu'une douzaine de personnes l'essaient. Au lieu de cela, je me suis réveillé avec des centaines d'utilisateurs et ma première facture OpenAI qui m'a fait vérifier mon compte bancaire en panique. C'est là que j'ai réalisé que je devais prendre cela au sérieux — pas juste comme un projet secondaire, mais comme une véritable entreprise.
La courbe d'apprentissage était rude. Je savais coder, mais je ne connaissais rien à la gestion de produit, aux retours d'utilisateurs, ni à la tarification des services basés sur l'IA. J'ai fait toutes les erreurs possibles : sur-ingénierie de fonctionnalités que personne n'avait demandées, sous-estimation des coûts d'API, construction pour moi-même plutôt que pour mes utilisateurs. Le revenu de mon deuxième mois était minime parce que j'avais passé tellement de temps à ajouter des fonctionnalités que j'avais oublié de corriger les bugs qui faisaient fuir les gens.
La réalité de l'IA à Vancouver
Développer des produits d'IA à Vancouver comporte des défis uniques. Nous ne sommes pas la Silicon Valley — nous n'avons pas de financement VC illimité ni une culture qui célèbre l'échec comme un apprentissage. Nous ne sommes pas non plus Toronto, avec son écosystème technologique établi et son soutien gouvernemental. Nous sommes quelque part entre les deux, ce qui signifie que nous devons être plus débrouillards et plus créatifs dans la façon dont nous construisons et lançons nos produits.
Le coût de la vie ici affecte tout. Quand votre loyer et vos paiements de voiture engloutissent la majeure partie de vos revenus, vous ne pouvez pas vous permettre de passer des mois à construire le produit parfait. Vous avez besoin de quelque chose qui génère des revenus rapidement, même si ce n'est que pour couvrir vos factures OpenAI et peut-être un café qui ne vient pas d'une station-service.
Je travaille beaucoup depuis ma voiture. Pas par choix — les espaces de coworking à Vancouver coûtent plus cher que ma facture de téléphone mensuelle, et les cafés vous virent après quelques heures. Mais il y a quelque chose de libérateur à avoir votre bureau là où vous vous garez. J'ai débogué des modèles d'apprentissage automatique sur le parking de Metrotown, peaufiné des invites en attendant devant YVR des demandes de prise en charge, et poussé du code en production depuis un Tim Hortons sur Granville Street à 2 h du matin.
La situation d'Internet est toujours intéressante. Le WiFi public de Vancouver est au mieux irrégulier, donc je suis devenu un expert pour trouver les points stratégiques — le box du coin chez Blenz où l'on voit le routeur, la place de parking devant la bibliothèque avec le signal le plus fort, le McDonald's sur Broadway qui a bizarrement de meilleurs débits montants que mon appartement.
Ce qui a vraiment fait la différence
La percée est venue quand j'ai arrêté d'essayer de construire le prochain ChatGPT et que j'ai commencé à me concentrer sur la résolution de problèmes spécifiques pour des personnes spécifiques. Mes produits qui ont marché ne sont pas révolutionnaires — ils sont juste assez utiles pour que les gens soient prêts à payer un abonnement mensuel.
Le deuxième produit était un analyseur d'annonces de location pour le marché immobilier de Vancouver. Quiconque a cherché un appartement ici connaît la douleur : photos trompeuses, descriptions vagues, prix qui vous font remettre en question vos choix de vie. J'ai construit un outil qui scrapait Craigslist et Facebook Marketplace, analysait les annonces avec GPT-4, et signalait les drapeaux rouges potentiels ou mettait en avant les bonnes affaires. L'IA notait les annonces en fonction du prix au mètre carré, de la proximité des transports en commun et de la qualité de la description.
La pile technique était similaire à celle de mon premier produit, mais j'avais appris à garder les coûts sous contrôle. Au lieu de traiter chaque annonce en temps réel, je regroupais les requêtes pendant les heures creuses quand les tarifs d'OpenAI étaient plus bas. Au lieu de tout stocker dans une base de données, j'utilisais de simples fichiers JSON et je régénérais les données quotidiennement. Au lieu d'une interface utilisateur complexe, j'ai créé un simple résumé par email auquel les gens pouvaient s'abonner.
Le lancement était différent cette fois. J'ai passé une semaine à poster dans des groupes Facebook de Vancouver, des communautés Reddit, et même quelques serveurs Discord que j'avais trouvés pour les gens cherchant un appartement en ville. La réponse a été immédiate — en quelques jours, j'avais un nombre significatif d'abonnés. Plus important encore, j'avais la validation que j'avais trouvé un vrai problème à résoudre.
Le troisième produit est né de ma propre frustration avec la scène des restaurants de Vancouver. Pas la qualité — la ville a une nourriture incroyable — mais le problème de la découverte. Les avis Yelp sont pour la plupart inutiles, les avis Google sont incohérents, et les blogs culinaires sont soit du contenu sponsorisé, soit écrits par des gens avec des goûts très différents des miens. J'ai construit un moteur de recommandation de restaurants qui analysait les avis de multiples sources, identifiait les opinions authentiques parmi les probables fausses, et fournissait des recommandations personnalisées en fonction de vos préférences.
Le composant IA était plus sophistiqué cette fois. J'ai utilisé des embeddings pour cartographier le sentiment des avis et les préférences culinaires, construit un algorithme de recommandation qui apprenait des retours des utilisateurs, et même ajouté une fonctionnalité qui suggérait des plats à commander en fonction des avis récents mentionnant des articles de menu spécifiques. Je l'ai lancé juste au moment où Vancouver rouvrait après les restrictions COVID.
Le vrai processus de développement
Les gens demandent toujours quel est mon processus de développement, s'attendant à une méthodologie sophistiquée. La réalité est beaucoup plus chaotique. Je code dans des moments volés — quinze minutes pendant qu'un passager entre dans un magasin, une heure pendant la pause déjeuner de mon travail principal, des sessions de trois heures le dimanche matin avant que la ville ne se réveille.
Mon installation est minimale par nécessité. Un MacBook Pro reconditionné, un chargeur de voiture qui a connu des jours meilleurs, et un hotspot mobile pour quand le WiFi n'est pas disponible. J'utilise VS Code avec quelques extensions essentielles, je garde mes environnements simples, et je compte énormément sur les services cloud parce que je ne peux pas garantir où je travaillerai d'un jour à l'autre.
Le contrôle de version se fait via GitHub, mais mes messages de commit violent probablement tous les guides de bonnes pratiques jamais écrits. « Fixed the thing that was broken » et « API calls work now » sont des entrées courantes dans mes historiques de projet. La documentation est minimale — pas parce que je n'y crois pas, mais parce que quand vous avez trente minutes pour implémenter une fonctionnalité avant votre prochaine demande de course, vous priorisez différemment.
Les tests sont pour la plupart manuels et pour la plupart faits en production. Je sais que cela fait grincer des dents les développeurs chevronnés, mais quand vous êtes une équipe d'une personne construisant des produits qui traitent un nombre raisonnable de requêtes par jour, la surcharge des cadres de test appropriés n'en vaut souvent pas la peine. Je teste les chemins critiques de manière obsessionnelle — tout ce qui implique des paiements ou des données dont les utilisateurs dépendent reçoit plusieurs passages — mais les ajustements d'interface utilisateur et les fonctionnalités bonus sont livrés avec une validation minimale.
Le support client se fait via un simple formulaire de contact et mon email personnel. J'ai découvert qu'être réactif et humain dans les interactions de support crée plus de fidélité qu'avoir un centre d'aide sophistiqué. Quand quelqu'un envoie un email à propos d'un bug, il reçoit une réponse de moi personnellement, généralement en quelques heures. Quand quelqu'un suggère une fonctionnalité, je lui dis honnêtement si je peux la construire et quand il peut s'y attendre.
La réalité financière
Parlons chiffres, parce que c'est ce que tout le monde veut vraiment savoir. Mes trois produits génèrent actuellement un revenu mensuel récurrent stable. Cela peut ne pas sembler énorme comparé aux success stories de la Silicon Valley, mais à Vancouver, c'est la différence entre le stress financier et une marge de manœuvre financière.
Les coûts sont gérables mais significatifs. Les appels API OpenAI sont ma plus grande dépense pour tous les produits. L'hébergement des serveurs est un autre coût mensuel. Les noms de domaine, les certificats SSL, le service email, les outils d'analyse — les petits abonnements s'accumulent. Ma plus grande dépense est en fait le temps — le coût d'opportunité des heures passées à coder au lieu de conduire, qui lors des nuits chargées peut être substantiel.
Les revenus proviennent entièrement des abonnements. J'ai essayé les achats uniques et les modèles freemium, mais les abonnements mensuels fournissent le revenu prévisible qui rend cela durable. Mes prix sont délibérément modestes — je préfère avoir plus de clients payant moins chacun que moins de clients payant plus. Vancouver n'est pas San Francisco ; les gens ici sont sensibles aux prix et prêts à changer si quelque chose devient trop cher.
Les tendances saisonnières sont intéressantes. Mon analyseur de location fonctionne le mieux au printemps et à l'automne quand les gens cherchent un appartement. L'outil de restaurant atteint son pic pendant l'été et les périodes de fêtes. Le résumé d'actualités est stable toute l'année mais connaît des pics pendant les périodes électorales ou les décisions majeures du conseil municipal.
Je réinvestis la plupart des bénéfices dans les produits — de meilleurs serveurs pendant les pics d'utilisation, de nouvelles fonctionnalités API quand OpenAI les publie, de la publicité payante occasionnelle sur les groupes Facebook locaux. Je maintiens mon inflation du style de vie au minimum parce que ce revenu n'est pas garanti, et je me souviens trop clairement de ce que ça faisait de choisir entre l'argent pour l'essence et l'argent pour les courses.
La collection d'échecs
Pour chaque produit qui a marché, j'en ai construit trois qui n'ont pas marché. Il y avait l'application de découverte d'événements basée sur l'IA que personne n'a utilisée parce que Facebook avait déjà résolu ce problème. Le planificateur de réseaux sociaux automatisé pour les entreprises locales sur lequel j'ai passé deux mois à travailler avant de réaliser que mes clients cibles ne pouvaient pas se permettre des abonnements mensuels. L'assistant de finances personnelles trop complexe pour les gens qui voulaient un budget simple et trop simple pour les gens qui voulaient une analyse complexe.
L'échec le plus dur a été un outil pour les travailleurs indépendants de Vancouver qui analysait les offres d'emploi et suggérait des stratégies de tarification optimales. J'étais convaincu que ce serait énorme — tous les travailleurs indépendants que je connaissais luttaient avec la tarification, et l'IA semblait parfaite pour analyser les taux du marché et la concurrence. J'ai passé quatre mois à le construire, créé des personas détaillés, même pré-vendu des abonnements à des bêta-testeurs.
Ça a complètement échoué. Les travailleurs indépendants voulaient des conseils humains sur la tarification, pas des suggestions algorithmiques. Ils voulaient de la communauté et du réseautage, pas de l'analyse de données. J'avais construit une solution pour un problème qui n'existait pas réellement de la façon dont je le pensais. Cet échec m'a plus appris sur l'adéquation produit-marché que n'importe quelle success story n'aurait pu le faire.
La suite
Je n'essaie pas de construire la prochaine licorne ou d'être racheté par Google. J'essaie de construire des produits durables et rentables qui résolvent de vrais problèmes pour les gens de ma ville. La vague de l'IA ne durera pas éternellement sous sa forme actuelle, mais le besoin sous-jacent de meilleurs outils et d'automatisation continuera.
Mon prochain produit est déjà en développement — un assistant IA pour les propriétaires de petites entreprises de Vancouver qui aide à tout, de la rédaction de posts sur les réseaux sociaux à l'analyse des retours clients. Il est basé sur des conversations que j'ai eues avec des dizaines de propriétaires d'entreprises locales pendant les courses, et les premiers tests suggèrent que je tiens quelque chose.
L'objectif à long terme n'est pas de remplacer entièrement mon revenu de conducteur, même si cela pourrait arriver éventuellement. C'est de créer suffisamment de revenus récurrents pour avoir de la flexibilité et des options. Quand vous ne vivez pas chèque de paie en chèque de paie, vous pouvez prendre de plus grands risques et penser à plus long terme.
Développer des produits d'IA entre les courses Uber n'est pas glamour, mais cela m'a appris que l'innovation ne nécessite pas des conditions parfaites ou des ressources illimitées. Cela demande juste de la persévérance, la volonté d'échouer rapidement, et la capacité de trouver des opportunités dans les espaces entre les autres obligations. Vancouver n'est peut-être pas la Silicon Valley, mais c'est exactement pour cela que c'est l'endroit parfait pour construire des produits qui résolvent de vrais problèmes pour de vraies personnes.
राइड्स के बीच AI उत्पाद बनाना: एक वैंकूवर डेवलपर की सच्ची कहानी
दो साल पहले, मैं रात 11 बजे डाउनटाउन वैंकूवर के एक ऑफिस बिल्डिंग के बाहर पार्क किया हुआ था, इंजन चालू था और मेरा यात्री फोन कॉल खत्म कर रहा था, तभी मुझे वह नोटिफिकेशन मिला जिसने सब कुछ बदल दिया। मेरे पहले AI साइड प्रोजेक्ट ने अभी-अभी API कॉल्स की एक सार्थक संख्या प्रोसेस की थी। जीवन बदल देने वाली कमाई नहीं, लेकिन उस पल में कुछ क्लिक हुआ। मैं अब सिर्फ लोगों को कहीं ले जाने वाला ड्राइवर नहीं था — मैं कुछ ऐसा बना रहा था जो मेरे सोते समय भी काम कर सकता था।
आज, शहर भर के कॉफी शॉप्स में राइड्स और देर रात कोडिंग सेशंस के बीच, मैंने तीन AI उत्पाद लॉन्च किए हैं जो सामूहिक रूप से मेरी दिन की नौकरी से कहीं अधिक कमाते हैं। मैं यह दिखावा नहीं करूंगा कि यह कोई रातोंरात सफलता की कहानी थी या मैंने कोई गुप्त कोड क्रैक किया था। यह अव्यवस्थित, कैफीन-ईंधन वाली वास्तविकता है, एक वैंकूवर डेवलपर के रूप में AI उत्पाद बनाने की, जिसके पास महत्वाकांक्षा तो बहुत है लेकिन खाली समय नहीं।
जो कहानी मैं साझा करने जा रहा हूं, वह क्रांतिकारी सफलताओं या वेंचर कैपिटल के बारे में नहीं है। यह Uber पिकअप के बीच के पलों को चुराने, McDonald's पार्किंग लॉट में कोड डीबग करने, और इस धीमी अहसास के बारे में है कि AI गोल्ड रश अब सिर्फ Silicon Valley के लिए नहीं है। यह जल्दी शिप करना और और भी तेजी से इटरेट करना सीखने के बारे में भी है — क्योंकि जब आपका ऑफिस आपकी कार है और आपका डेवलपमेंट समय यात्री-मुक्त अंतराल में मापा जाता है, तो हर मिनट मायने रखता है।
आकस्मिक AI डेवलपर
मैंने AI उत्पाद बनाना इसलिए शुरू नहीं किया क्योंकि मेरे पास प्रौद्योगिकी के भविष्य के बारे में कोई बड़ी दृष्टि थी। मैंने इसलिए शुरू किया क्योंकि मैं समय के बदले पैसे का व्यापार करते-करते थक गया था, और OpenAI का API इतना सुलभ हो गया था कि मेरे जैसा कोई व्यक्ति — एक सेल्फ-टॉट डेवलपर जिसके पास अच्छा Python बैकग्राउंड और वैंकूवर ट्रैफिक में बिताया गया बहुत अधिक समय है — वास्तव में कुछ उपयोगी बना सकता था।
मेरा पहला प्रोजेक्ट शर्मनाक रूप से सरल था: स्थानीय समाचार साइटों के लिए एक कंटेंट सारांशीकरण टूल। मैंने देखा था कि वैंकूवर का मीडिया परिदृश्य खंडित था — महत्वपूर्ण नगर परिषद के निर्णय लंबे लेखों में दबे होते थे, हाउसिंग पॉलिसी अपडेट कई स्रोतों में बिखरे होते थे, ट्रांजिट परिवर्तन ऐसे फॉर्मेट में घोषित किए जाते थे जो उन्हें ढूंढना असंभव बना देते थे। मैंने एक स्क्रैपर बनाया जो प्रमुख वैंकूवर समाचार स्रोतों से लेख खींचता था और सुपाच्य सारांश बनाने के लिए GPT का उपयोग करता था।
तकनीकी कार्यान्वयन बुनियादी था। एक DigitalOcean droplet पर चलने वाली Python स्क्रिप्ट, स्क्रैपिंग के लिए BeautifulSoup, सारांशीकरण के लिए OpenAI का API, और Flask से बना एक सरल वेब इंटरफ़ेस। कुल डेवलपमेंट समय: तीन सप्ताह में लगभग चालीस घंटे, ज्यादातर राइड अनुरोधों के बीच के मृत काल में कोड किया गया।
मैंने इसे चुपचाप लॉन्च किया, r/vancouver पर पोस्ट किया, और उम्मीद की कि शायद एक दर्जन लोग इसे आज़माएं। इसके बजाय, मैं सैकड़ों उपयोगकर्ताओं और अपने पहले OpenAI बिल के साथ जागा जिसने मुझे अपना बैंक खाता चेक करने पर मजबूर कर दिया। तब मुझे एहसास हुआ कि मुझे इसे गंभीरता से लेने की जरूरत है — सिर्फ एक साइड प्रोजेक्ट के रूप में नहीं, बल्कि एक वास्तविक व्यवसाय के रूप में।
सीखने की अवस्था बहुत तेज थी। मुझे कोड करना आता था, लेकिन मुझे प्रोडक्ट मैनेजमेंट, उपयोगकर्ता फीडबैक, या AI-संचालित सेवाओं की कीमत कैसे तय करें, इसके बारे में कुछ नहीं पता था। मैंने हर संभव गलती की: किसी ने न मांगी हुई सुविधाओं को ओवर-इंजीनियर करना, API लागतों को कम आंकना, अपने उपयोगकर्ताओं के बजाय अपने लिए बनाना। मेरे दूसरे महीने का राजस्व नाममात्र था क्योंकि मैंने सुविधाएं जोड़ने में इतना समय बिताया कि उन बग्स को ठीक करना भूल गया जो लोगों को दूर भगा रहे थे।
वैंकूवर AI वास्तविकता
वैंकूवर में AI उत्पाद बनाना अद्वितीय चुनौतियों के साथ आता है। हम Silicon Valley नहीं हैं — हमारे पास असीमित VC फंडिंग या ऐसी संस्कृति नहीं है जो विफलता को सीखने के रूप में मनाती है। हम Toronto भी नहीं हैं, जिसमें एक स्थापित तकनीकी पारिस्थितिकी तंत्र और सरकारी समर्थन है। हम कहीं बीच में हैं, जिसका मतलब है कि हमें उत्पादों के निर्माण और लॉन्च करने के तरीके में अधिक साधनहीन और रचनात्मक होना होगा।
यहां रहने की लागत हर चीज को प्रभावित करती है। जब आपका किराया और कार का भुगतान आपकी अधिकांश आय खा जाता है, तो आप सही उत्पाद बनाने में महीने बिताने का जोखिम नहीं उठा सकते। आपको जल्दी से राजस्व उत्पन्न करने वाली कोई चीज़ चाहिए, भले ही वह आपके OpenAI बिल और शायद एक ऐसी कॉफी को कवर करने के लिए पर्याप्त हो जो गैस स्टेशन से न आती हो।
मैं अपनी कार से बहुत काम करता हूं। पसंद से नहीं — वैंकूवर के को-वर्किंग स्पेस मेरे मासिक फोन बिल से अधिक खर्च होते हैं, और कॉफी शॉप्स कुछ घंटों के बाद आपको बाहर निकाल देते हैं। लेकिन अपने ऑफिस को जहां भी पार्क करो, वहां होने में कुछ मुक्तिदायक है। मैंने Metrotown के पार्किंग लॉट में मशीन लर्निंग मॉडल डीबग किए हैं, YVR के बाहर पिकअप अनुरोधों की प्रतीक्षा करते हुए प्रॉम्प्ट रिफाइन किए हैं, और Granville Street पर Tim Hortons से रात 2 बजे प्रोडक्शन में कोड पुश किया है।
इंटरनेट की स्थिति हमेशा दिलचस्प होती है। वैंकूवर का सार्वजनिक WiFi सबसे अच्छी स्थिति में भी अनियमित है, इसलिए मैं अच्छे स्पॉट खोजने में विशेषज्ञ बन गया हूं — Blenz में कोने का बूथ जहां से राउटर दिखता है, सबसे मजबूत सिग्नल वाली लाइब्रेरी शाखा के बाहर पार्किंग स्पॉट, Broadway पर McDonald's जिसकी अपलोड स्पीड किसी तरह मेरे अपार्टमेंट से बेहतर है।
वास्तव में क्या कारगर रहा
सफलता तब मिली जब मैंने अगला ChatGPT बनाने की कोशिश करना बंद कर दिया और विशिष्ट लोगों के लिए विशिष्ट समस्याओं को हल करने पर ध्यान केंद्रित करना शुरू कर दिया। मेरे सफल उत्पाद क्रांतिकारी नहीं हैं — वे बस इतने उपयोगी हैं कि लोग उनके लिए मासिक भुगतान करने को तैयार हैं।
उत्पाद नंबर दो वैंकूवर के हाउसिंग मार्केट के लिए एक किराये की लिस्टिंग विश्लेषक था। जिस किसी ने भी यहां अपार्टमेंट खोजा है, वह दर्द जानता है: भ्रामक तस्वीरें, अस्पष्ट विवरण, कीमतें जो आपसे आपके जीवन के चुनावों पर सवाल उठवाती हैं। मैंने एक टूल बनाया जो Craigslist और Facebook Marketplace को स्क्रैप करेगा, GPT-4 के साथ लिस्टिंग का विश्लेषण करेगा, और संभावित रेड फ्लैग्स को चिह्नित करेगा या वास्तविक डील को हाइलाइट करेगा। AI प्रति वर्ग फुट मूल्य, ट्रांजिट से निकटता और विवरण गुणवत्ता के आधार पर लिस्टिंग को स्कोर करेगा।
तकनीकी स्टैक मेरे पहले उत्पाद के समान था, लेकिन मैंने लागत को प्रबंधनीय रखना सीख लिया था। हर लिस्टिंग को रीयल-टाइम में प्रोसेस करने के बजाय, मैंने ऑफ-पीक घंटों के दौरान अनुरोधों को बैच किया जब OpenAI की दरें कम थीं। सब कुछ डेटाबेस में स्टोर करने के बजाय, मैंने सरल JSON फ़ाइलों का उपयोग किया और डेटा को दैनिक रूप से पुनर्जीवित किया। एक जटिल यूज़र इंटरफ़ेस के बजाय, मैंने एक सरल ईमेल डाइजेस्ट बनाया जिसकी लोग सदस्यता ले सकते थे।
लॉन्च इस बार अलग था। मैंने एक सप्ताह वैंकूवर Facebook ग्रुप्स, Reddit समुदायों, और यहां तक कि कुछ Discord सर्वरों में पोस्ट करने में बिताया जो मुझे शहर में अपार्टमेंट शिकार करने वाले लोगों के लिए मिले थे। प्रतिक्रिया तत्काल थी — दिनों के भीतर, मेरे पास सब्सक्राइबर्स की एक सार्थक संख्या थी। इससे भी महत्वपूर्ण बात, मेरे पास यह मान्यता थी कि मुझे हल करने लायक एक वास्तविक समस्या मिल गई थी।
उत्पाद नंबर तीन वैंकूवर के रेस्तरां दृश्य के साथ मेरी अपनी निराशा से आया। गुणवत्ता से नहीं — शहर में अविश्वसनीय भोजन है — बल्कि खोज की समस्या से। Yelp समीक्षाएं ज्यादातर बेकार हैं, Google समीक्षाएं असंगत हैं, और फूड ब्लॉग या तो प्रायोजित सामग्री हैं या ऐसे लोगों द्वारा लिखे गए हैं जिनका स्वाद मुझसे बहुत अलग है। मैंने एक रेस्तरां अनुशंसा इंजन बनाया जो कई स्रोतों से समीक्षाओं का विश्लेषण करेगा, संभावित नकली समीक्षाओं से वास्तविक राय की पहचान करेगा, और आपकी प्राथमिकताओं के आधार पर व्यक्तिगत अनुशंसाएं प्रदान करेगा।
AI घटक इस बार अधिक परिष्कृत था। मैंने समीक्षा भावना और भोजन प्राथमिकताओं को मैप करने के लिए एम्बेडिंग का उपयोग किया, एक अनुशंसा एल्गोरिदम बनाया जो उपयोगकर्ता फीडबैक से सीखता था, और यहां तक कि एक सुविधा भी जोड़ी जो विशिष्ट मेनू आइटम का उल्लेख करने वाली हाल की समीक्षाओं के आधार पर ऑर्डर करने के लिए व्यंजन सुझाती थी। मैंने इसे ठीक उसी समय लॉन्च किया जब वैंकूवर COVID प्रतिबंधों के बाद फिर से खुल रहा था।
वास्तविक डेवलपमेंट प्रक्रिया
लोग हमेशा मेरी डेवलपमेंट प्रक्रिया के बारे में पूछते हैं, किसी परिष्कृत पद्धति की उम्मीद करते हैं। वास्तविकता कहीं अधिक अव्यवस्थित है। मैं चुराए गए पलों में कोड करता हूं — पंद्रह मिनट जब कोई यात्री एक स्टोर में जाता है, दोपहर के भोजन के ब्रेक के दौरान एक घंटा अपनी दिन की नौकरी में, रविवार सुबह शहर के जागने से पहले तीन घंटे के सत्र।
मेरा सेटअप आवश्यकता से न्यूनतम है। एक रिफर्बिश्ड MacBook Pro, एक कार चार्जर जिसके बेहतर दिन देखे हुए हैं, और एक मोबाइल हॉटस्पॉट जब WiFi उपलब्ध नहीं है। मैं कुछ आवश्यक एक्सटेंशन के साथ VS Code का उपयोग करता हूं, अपने एनवायरनमेंट को सरल रखता हूं, और क्लाउड सेवाओं पर बहुत अधिक निर्भर करता हूं क्योंकि मैं गारंटी नहीं दे सकता कि मैं दिन-प्रतिदिन कहां से काम करूंगा।
वर्जन कंट्रोल GitHub के माध्यम से होता है, लेकिन मेरे कमिट मैसेज शायद अब तक लिखे गए हर बेस्ट प्रैक्टिस गाइड का उल्लंघन करते हैं। "उस चीज़ को ठीक किया जो टूटी हुई थी" और "API कॉल्स अब काम करती हैं" मेरे प्रोजेक्ट हिस्ट्री में सामान्य प्रविष्टियां हैं। दस्तावेज़ीकरण न्यूनतम है — इसलिए नहीं कि मैं इसमें विश्वास नहीं करता, बल्कि इसलिए कि जब आपके पास अपने अगले राइड अनुरोध से पहले एक सुविधा लागू करने के लिए तीस मिनट हों, तो आप अलग ढंग से प्राथमिकता देते हैं।
परीक्षण ज्यादातर मैनुअल है और ज्यादातर प्रोडक्शन में किया जाता है। मुझे पता है कि इससे अनुभवी डेवलपर्स को ऐंठन होती है, लेकिन जब आप एक व्यक्ति की टीम हो जो प्रति दिन उचित संख्या में अनुरोधों को प्रोसेस करने वाले उत्पाद बनाते हैं, तो उचित परीक्षण फ्रेमवर्क का ओवरहेड अक्सर इसके लायक नहीं होता। मैं महत्वपूर्ण पथों का जुनूनी रूप से परीक्षण करता हूं — भुगतान या उपयोगकर्ताओं पर निर्भर डेटा से जुड़ी किसी भी चीज़ को कई पास मिलते हैं — लेकिन UI ट्वीक और अच्छी-से-होने वाली सुविधाओं को न्यूनतम सत्यापन के साथ शिप किया जाता है।
ग्राहक सहायता एक सरल संपर्क फॉर्म और मेरे व्यक्तिगत ईमेल के माध्यम से होती है। मैंने पाया है कि सहायता इंटरैक्शन में उत्तरदायी और मानवीय होना एक पॉलिश हेल्प सेंटर होने की तुलना में अधिक वफादारी पैदा करता है। जब कोई किसी बग के बारे में ईमेल करता है, तो उन्हें व्यक्तिगत रूप से मुझसे प्रतिक्रिया मिलती है, आमतौर पर कुछ घंटों के भीतर। जब कोई कोई सुविधा सुझाता है, तो मैं उन्हें ईमानदारी से बताता हूं कि क्या मैं इसे बना सकता हूं और वे इसकी उम्मीद कब कर सकते हैं।
पैसे की वास्तविकता
आइए संख्याओं के बारे में बात करते हैं, क्योंकि हर कोई वास्तव में यही जानना चाहता है। मेरे तीन उत्पाद वर्तमान में स्थिर मासिक आवर्ती राजस्व उत्पन्न करते हैं। यह Silicon Valley सफलता की कहानियों की तुलना में बहुत अधिक नहीं लग सकता है, लेकिन वैंकूवर में, यह वित्तीय तनाव और वित्तीय सांस लेने की जगह के बीच का अंतर है।
लागत प्रबंधनीय लेकिन महत्वपूर्ण हैं। OpenAI API कॉल्स मेरा सबसे बड़ा खर्च है जो सभी उत्पादों में फैला हुआ है। सर्वर होस्टिंग एक और मासिक लागत है। डोमेन नाम, SSL प्रमाणपत्र, ईमेल सेवा, एनालिटिक्स टूल — छोटी सब्सक्रिप्शन बढ़ती जाती हैं। मेरा सबसे बड़ा खर्च वास्तव में समय है — ड्राइविंग के बजाय कोडिंग में बिताए गए घंटों की अवसर लागत, जो व्यस्त रातों में काफी हो सकती है।
राजस्व पूरी तरह से सब्सक्रिप्शन से आता है। मैंने एकमुश्त खरीद और फ्रीमियम मॉडल आजमाए, लेकिन मासिक सब्सक्रिप्शन अनुमानित आय प्रदान करते हैं जो इसे टिकाऊ बनाती है। मेरी कीमतें जानबूझकर मामूली हैं — मैं बजाय इसके कि कम ग्राहक अधिक भुगतान करें, अधिक ग्राहक चाहता हूं जो प्रत्येक कम भुगतान करें। वैंकूवर San Francisco नहीं है; यहां के लोग कीमत के प्रति सजग हैं और अगर कुछ बहुत महंगा हो जाता है तो स्विच करने को तैयार हैं।
मौसमी पैटर्न दिलचस्प हैं। मेरा किराया विश्लेषक वसंत और पतझड़ में सबसे अच्छा करता है जब लोग अपार्टमेंट की तलाश कर रहे होते हैं। रेस्तरां टूल गर्मियों और छुट्टियों के मौसम में चरम पर होता है। समाचार सारांशकर्ता साल भर स्थिर रहता है लेकिन चुनाव अवधि या प्रमुख नगर परिषद के निर्णयों के दौरान बढ़ जाता है।
मैं अधिकांश लाभ को वापस उत्पादों में निवेश करता हूं — पीक उपयोग के दौरान बेहतर सर्वर, नए API फीचर जब OpenAI उन्हें जारी करता है, स्थानीय Facebook समूहों पर कभी-कभी सशुल्क विज्ञापन। मैं अपनी जीवनशैली में वृद्धि को न्यूनतम रखता हूं क्योंकि यह आय गारंटीकृत नहीं है, और मुझे बहुत स्पष्ट रूप से याद है कि गैस के पैसे और किराने के पैसे के बीच चुनाव करना कैसा लगता था।
असफलताओं का संग्रह
हर उत्पाद के लिए जो काम कर गया, मैंने तीन बनाए जो नहीं कर पाए। वह AI-संचालित इवेंट डिस्कवरी ऐप था जिसका किसी ने उपयोग नहीं किया क्योंकि Facebook ने पहले ही उस समस्या को हल कर दिया था। स्थानीय व्यवसायों के लिए वह स्वचालित सोशल मीडिया शेड्यूलर जिसे बनाने में मैंने दो महीने बिताए, इससे पहले कि मुझे एहसास हुआ कि मेरे लक्षित ग्राहक मासिक सब्सक्रिप्शन नहीं खरीद सकते थे। वह व्यक्तिगत वित्त सहायक जो उन लोगों के लिए बहुत जटिल था जो सरल बजट चाहते थे और उन लोगों के लिए बहुत सरल था जो जटिल विश्लेषण चाहते थे।
सबसे कठिन असफलता वैंकूवर फ्रीलांसरों के लिए एक टूल था जो जॉब पोस्टिंग का विश्लेषण करेगा और इष्टतम मूल्य निर्धारण रणनीति सुझाएगा। मुझे विश्वास था कि यह बहुत बड़ा होगा — मेरे जानने वाले हर फ्रीलांसर मूल्य निर्धारण से जूझता था, और AI बाजार दरों और प्रतिस्पर्धा के विश्लेषण के लिए एकदम सही लगता था। मैंने इसे बनाने में चार महीने बिताए, विस्तृत व्यक्तित्व बनाए, यहां तक कि बीटा परीक्षकों को सब्सक्रिप्शन प्री-सेल भी किए।
यह पूरी तरह से फ्लॉप रहा। फ्रीलांसर एल्गोरिदमिक सुझावों के बजाय मूल्य निर्धारण के बारे में मानवीय सलाह चाहते थे। वे डेटा विश्लेषण के बजाय समुदाय और नेटवर्किंग चाहते थे। मैंने एक ऐसी समस्या का समाधान बनाया था जो वास्तव में उस रूप में मौजूद नहीं थी जैसा मैंने सोचा था। उस असफलता ने मुझे प्रोडक्ट-मार्केट फिट के बारे में किसी भी सफलता की कहानी से अधिक सिखाया।
आगे क्या
मैं अगला यूनिकॉर्न बनाने या Google द्वारा अधिग्रहित होने की कोशिश नहीं कर रहा हूं। मैं टिकाऊ, लाभदायक उत्पाद बनाने की कोशिश कर रहा हूं जो मेरे शहर के लोगों के लिए वास्तविक समस्याओं का समाधान करते हैं। AI की लहर अपने वर्तमान स्वरूप में हमेशा नहीं रहेगी, लेकिन बेहतर उपकरणों और ऑटोमेशन की अंतर्निहित आवश्यकता जारी रहेगी।
मेरा अगला उत्पाद पहले से ही विकास में है — वैंकूवर छोटे व्यवसाय मालिकों के लिए एक AI सहायक जो सोशल मीडिया पोस्ट लिखने से लेकर ग्राहक प्रतिक्रिया का विश्लेषण करने तक हर चीज में मदद करता है। यह राइड्स के दौरान दर्जनों स्थानीय व्यवसाय मालिकों के साथ हुई बातचीत पर आधारित है, और प्रारंभिक परीक्षण बताता है कि मैं कुछ सही कर रहा हूं।
दीर्घकालिक लक्ष्य अपनी ड्राइविंग आय को पूरी तरह से बदलना नहीं है, हालांकि ऐसा हो सकता है। यह पर्याप्त आवर्ती राजस्व बनाना है ताकि मेरे पास लचीलापन और विकल्प हों। जब आप पेचेक-टू-पेचेक नहीं जी रहे होते हैं, तो आप बड़े जोखिम ले सकते हैं और दीर्घकालिक सोच सकते हैं।
Uber राइड्स के बीच AI उत्पाद बनाना ग्लैमरस नहीं है, लेकिन इसने मुझे सिखाया है कि नवाचार के लिए सही परिस्थितियों या असीमित संसाधनों की आवश्यकता नहीं होती है। इसके लिए बस दृढ़ता, तेजी से असफल होने की इच्छा, और अन्य दायित्वों के बीच के स्थानों में अवसर खोजने की क्षमता चाहिए। वैंकूवर Silicon Valley नहीं हो सकता है, लेकिन यही कारण है कि यह वास्तविक लोगों के लिए वास्तविक समस्याओं को हल करने वाले उत्पाद बनाने के लिए एकदम सही जगह है।
Costruire Prodotti AI Tra una Corsa e l'Altra: La Vera Storia di uno Sviluppatore di Vancouver
Due anni fa, ero parcheggiato fuori da un edificio per uffici nel centro di Vancouver alle 23:00, con il motore acceso mentre il mio passeggero terminava una telefonata, quando ho ricevuto la notifica che ha cambiato tutto. Il mio primo progetto secondario di AI aveva appena elaborato un numero significativo di chiamate API. Non esattamente soldi che cambiano la vita, ma in quel momento qualcosa ha fatto clic. Non ero più solo un autista – stavo costruendo qualcosa che poteva funzionare mentre dormivo.
Oggi, tra una corsa e l'altra e sessioni di codifica notturne nei caffè di tutta la città, ho lanciato tre prodotti AI che insieme generano significativamente più del mio vecchio lavoro quotidiano. Non fingerò che sia stata una storia di successo improvviso o che abbia decifrato un codice segreto. Questa è la realtà disordinata e piena di caffeina di chi costruisce prodotti AI come sviluppatore di Vancouver con più ambizione che tempo libero.
La storia che sto per condividere non parla di scoperte rivoluzionarie o capitale di rischio. Parla di rubare momenti tra le corse Uber, fare debugging del codice nei parcheggi di McDonald's, e la lenta realizzazione che la corsa all'oro dell'AI non è più solo per la Silicon Valley. Parla anche di imparare a spedire veloce e iterare ancora più velocemente – perché quando il tuo ufficio è la tua auto e il tuo tempo di sviluppo è misurato in intervalli senza passeggeri, ogni minuto conta.
Lo Sviluppatore AI per Caso
Non ho iniziato a costruire prodotti AI perché avevo una grande visione sul futuro della tecnologia. Ho iniziato perché ero stanco di scambiare tempo con denaro, e l'API di OpenAI era appena diventata abbastanza accessibile che qualcuno come me – uno sviluppatore autodidatta con una discreta conoscenza di Python e troppo tempo passato nel traffico di Vancouver – potesse effettivamente costruire qualcosa di utile.
Il mio primo progetto era imbarazzantemente semplice: uno strumento di riassunto dei contenuti per siti di notizie locali. Avevo notato che il panorama mediatico di Vancouver era frammentato – decisioni importanti del consiglio comunale sepolte in articoli lunghi, aggiornamenti sulle politiche abitative sparsi su più fonti, cambiamenti del trasporto pubblico annunciati in formati che li rendevano impossibili da trovare. Ho costruito uno scraper che prelevava articoli dalle principali fonti di notizie di Vancouver e usava GPT per creare riassunti digeribili.
L'implementazione tecnica era basilare. Uno script Python in esecuzione su un droplet DigitalOcean, BeautifulSoup per lo scraping, l'API di OpenAI per i riassunti, e una semplice interfaccia web costruita con Flask. Tempo di sviluppo totale: forse quaranta ore distribuite su tre settimane, per lo più programmate nei periodi morti tra le richieste di corse.
L'ho lanciato in sordina, l'ho postato su r/vancouver, e mi aspettavo che una dozzina di persone lo provassero. Invece, mi sono svegliato con centinaia di utenti e la mia prima bolletta OpenAI che mi ha fatto controllare il conto in banca in preda al panico. È stato allora che ho capito che dovevo prendere la cosa seriamente – non solo come progetto secondario, ma come una vera attività.
La curva di apprendimento è stata ripida. Sapevo programmare, ma non sapevo nulla di gestione del prodotto, feedback degli utenti, o come fissare il prezzo per servizi basati su AI. Ho fatto tutti gli errori possibili: over-engineering di funzionalità che nessuno aveva chiesto, sottostimare i costi API, costruire per me stesso invece che per i miei utenti. Il fatturato del mio secondo mese è stato minimo perché avevo passato così tanto tempo ad aggiungere funzionalità che mi ero dimenticato di correggere i bug che allontanavano le persone.
La Realtà dell'AI a Vancouver
Costruire prodotti AI a Vancouver comporta sfide uniche. Non siamo la Silicon Valley – non abbiamo finanziamenti VC illimitati o una cultura che celebra il fallimento come apprendimento. Non siamo nemmeno Toronto, con il suo ecosistema tecnologico consolidato e il supporto governativo. Siamo da qualche parte nel mezzo, il che significa che dobbiamo essere più intraprendenti e creativi su come costruiamo e lanciamo prodotti.
Il costo della vita qui influenza tutto. Quando l'affitto e le rate della macchina divorano la maggior parte del tuo reddito, non puoi permetterti di passare mesi a costruire il prodotto perfetto. Hai bisogno di qualcosa che generi entrate rapidamente, anche se solo abbastanza per coprire le bollette OpenAI e magari un caffè che non venga da una stazione di servizio.
Lavoro molto dalla mia macchina. Non per scelta – gli spazi di coworking di Vancouver costano più della mia bolletta telefonica mensile, e i caffè ti cacciano dopo poche ore. Ma c'è qualcosa di liberante nell'avere il tuo ufficio dove parcheggi. Ho fatto debugging di modelli di machine learning nel parcheggio di Metrotown, ho perfezionato prompt mentre aspettavo fuori YVR richieste di pick-up, e ho spinto codice in produzione da un Tim Hortons su Granville Street alle 2 del mattino.
La situazione di internet è sempre interessante. Il WiFi pubblico di Vancouver è irregolare nel migliore dei casi, quindi sono diventato un esperto nel trovare i punti migliori – il tavolo d'angolo al Blenz dove si vede il router, il posto auto fuori dalla biblioteca con il segnale più forte, il McDonald's sulla Broadway che improvvisamente ha velocità di upload migliori del mio appartamento.
Cosa Ha Davvero Fatto la Differenza
La svolta è arrivata quando ho smesso di provare a costruire il prossimo ChatGPT e ho iniziato a concentrarmi sulla risoluzione di problemi specifici per persone specifiche. I miei prodotti di successo non sono rivoluzionari – sono solo abbastanza utili da far sì che le persone siano disposte a pagare un abbonamento mensile.
Il secondo prodotto era un analizzatore di annunci di affitto per il mercato immobiliare di Vancouver. Chiunque abbia cercato appartamento qui conosce il dolore: foto fuorvianti, descrizioni vaghe, prezzi che ti fanno mettere in discussione le tue scelte di vita. Ho costruito uno strumento che analizzava Craigslist e Facebook Marketplace, analizzava gli annunci con GPT-4, e segnalava potenziali bandiere rosse o evidenziava offerte genuine. L'AI valutava gli annunci in base al prezzo al metro quadrato, alla vicinanza ai trasporti pubblici e alla qualità della descrizione.
Lo stack tecnico era simile al mio primo prodotto, ma avevo imparato a mantenere i costi gestibili. Invece di elaborare ogni annuncio in tempo reale, raggruppavo le richieste durante le ore non di punta quando le tariffe di OpenAI erano più basse. Invece di memorizzare tutto in un database, usavo semplici file JSON e rigeneravo i dati quotidianamente. Invece di un'interfaccia utente complessa, ho creato un semplice riepilogo via email a cui le persone potevano iscriversi.
Il lancio è stato diverso questa volta. Ho passato una settimana a postare in gruppi Facebook di Vancouver, community Reddit, e persino alcuni server Discord che avevo trovato per persone in cerca di appartamento in città. La risposta è stata immediata – in pochi giorni, avevo un numero significativo di iscritti. Ancora più importante, avevo la validazione di aver trovato un problema reale che valeva la pena risolvere.
Il terzo prodotto è nato dalla mia frustrazione con la scena ristorativa di Vancouver. Non la qualità – la città ha cibo incredibile – ma il problema della scoperta. Le recensioni di Yelp sono per lo più inutili, quelle di Google sono inconsistenti, e i blog di cucina sono o contenuti sponsorizzati o scritti da persone con gusti molto diversi dai miei. Ho costruito un motore di raccomandazione di ristoranti che analizzava le recensioni da più fonti, identificava opinioni genuine da quelle probabilmente false, e forniva raccomandazioni personalizzate basate sulle tue preferenze.
La componente AI era più sofisticata questa volta. Ho usato embeddings per mappare il sentiment delle recensioni e le preferenze culinarie, ho costruito un algoritmo di raccomandazione che imparava dal feedback degli utenti, e ho persino aggiunto una funzione che suggeriva piatti da ordinare basandosi su recensioni recenti che menzionavano voci di menu specifiche. L'ho lanciato proprio mentre Vancouver riapriva dopo le restrizioni COVID.
Il Vero Processo di Sviluppo
La gente mi chiede sempre del mio processo di sviluppo, aspettandosi una metodologia sofisticata. La realtà è molto più caotica. Programmo in momenti rubati – quindici minuti mentre un passeggero entra in un negozio, un'ora durante la pausa pranzo al mio lavoro quotidiano, sessioni di tre ore la domenica mattina prima che la città si svegli.
La mia configurazione è minima per necessità. Un MacBook Pro ricondizionato, un caricabatterie per auto che ha visto giorni migliori, e un hotspot mobile per quando il WiFi non è disponibile. Uso VS Code con poche estensioni essenziali, mantengo gli ambienti semplici, e mi affido molto ai servizi cloud perché non posso garantire dove lavorerò di giorno in giorno.
Il controllo di versione avviene tramite GitHub, ma i miei messaggi di commit probabilmente violano ogni guida alle migliori pratiche mai scritta. "Riparato la cosa che era rotta" e "Le chiamate API ora funzionano" sono voci comuni nelle mie cronologie di progetto. La documentazione è minima – non perché non ci creda, ma perché quando hai trenta minuti per implementare una funzionalità prima della prossima richiesta di corsa, stabilisci priorità diverse.
Il testing è per lo più manuale e per lo più fatto in produzione. So che questo fa rabbrividire gli sviluppatori esperti, ma quando sei un team di una persona che costruisce prodotti che elaborano un numero ragionevole di richieste al giorno, l'onere dei framework di testing adeguati spesso non ne vale la pena. Testo ossessivamente i percorsi critici – tutto ciò che riguarda pagamenti o dati da cui gli utenti dipendono riceve più passate – ma le modifiche UI e le funzionalità accessorie vengono spedite con validazione minima.
L'assistenza clienti avviene tramite un semplice modulo di contatto e la mia email personale. Ho scoperto che essere reattivo e umano nelle interazioni di supporto crea più fedeltà che avere un centro assistenza rifinito. Quando qualcuno scrive per un bug, riceve una risposta da me personalmente, di solito entro poche ore. Quando qualcuno suggerisce una funzionalità, dico loro onestamente se posso costruirla e quando possono aspettarsela.
La Realtà dei Soldi
Parliamo di numeri, perché è quello che tutti vogliono veramente sapere. I miei tre prodotti attualmente generano entrate ricorrenti mensili stabili. Potrebbe non sembrare molto rispetto alle storie di successo della Silicon Valley, ma a Vancouver, è la differenza tra stress finanziario e respiro finanziario.
I costi sono gestibili ma significativi. Le chiamate API di OpenAI sono la mia spesa più grande su tutti i prodotti. L'hosting del server è un altro costo mensile. Nomi di dominio, certificati SSL, servizio email, strumenti di analisi – i piccoli abbonamenti si accumulano. La mia spesa più grande è in realtà il tempo – il costo opportunità delle ore passate a programmare invece di guidare, che nelle notti impegnative può essere sostanziale.
Le entrate provengono interamente dagli abbonamenti. Ho provato acquisti una tantum e modelli freemium, ma gli abbonamenti mensili forniscono il reddito prevedibile che rende tutto ciò sostenibile. I miei prezzi sono deliberatamente modesti – preferisco avere più clienti che pagano meno ciascuno piuttosto che meno clienti che pagano di più. Vancouver non è San Francisco; qui la gente è attenta ai prezzi e disposta a cambiare se qualcosa diventa troppo costoso.
I modelli stagionali sono interessanti. Il mio analizzatore di affitti va meglio in primavera e autunno quando la gente cerca appartamento. Lo strumento per ristoranti raggiunge il picco durante l'estate e le festività. Il riassuntore di notizie è costante tutto l'anno ma ha picchi durante i periodi elettorali o le decisioni importanti del consiglio comunale.
Reinvesto la maggior parte dei profitti nei prodotti – server migliori durante i periodi di punta, nuove funzionalità API quando OpenAI le rilascia, pubblicità a pagamento occasionale su gruppi Facebook locali. Mantengo l'inflazione del mio stile di vita al minimo perché questo reddito non è garantito, e ricordo troppo chiaramente cosa si provava a scegliere tra soldi per la benzina e soldi per la spesa.
La Collezione dei Fallimenti
Per ogni prodotto che ha funzionato, ne ho costruiti tre che non hanno funzionato. C'era l'app di scoperta eventi basata su AI che nessuno usava perché Facebook aveva già risolto quel problema. Il programmatore automatico di social media per imprese locali su cui ho passato due mesi a costruire prima di rendermi conto che i miei clienti target non potevano permettersi abbonamenti mensili. L'assistente finanziario personale che era troppo complesso per chi voleva un budgeting semplice e troppo semplice per chi voleva un'analisi complessa.
Il fallimento più duro è stato uno strumento per freelance di Vancouver che analizzava annunci di lavoro e suggeriva strategie di prezzo ottimali. Ero convinto che sarebbe stato enorme – ogni freelance che conoscevo lottava con i prezzi, e l'AI sembrava perfetta per analizzare tariffe di mercato e concorrenza. Ho passato quattro mesi a costruirlo, ho creato personas dettagliate, ho persino prevenduto abbonamenti a beta tester.
È stato un flop totale. I freelance volevano consigli umani sui prezzi, non suggerimenti algoritmici. Volevano community e networking, non analisi di dati. Avevo costruito una soluzione per un problema che in realtà non esisteva nel modo in cui pensavo. Quel fallimento mi ha insegnato di più sull'adattamento prodotto-mercato di quanto qualsiasi storia di successo avrebbe mai potuto.
Il Prossimo Passo
Non sto cercando di costruire il prossimo unicorno o di essere acquisito da Google. Sto cercando di costruire prodotti sostenibili e redditizi che risolvano problemi reali per le persone nella mia città. L'onda dell'AI non durerà per sempre nella sua forma attuale, ma il bisogno sottostante di strumenti migliori e automazione continuerà.
Il mio prossimo prodotto è già in sviluppo – un assistente AI per piccoli imprenditori di Vancouver che aiuta con tutto, dalla scrittura di post sui social media all'analisi del feedback dei clienti. Si basa su conversazioni che ho avuto con dozzine di imprenditori locali durante le corse, e i primi test suggeriscono che sono su qualcosa di buono.
L'obiettivo a lungo termine non è sostituire completamente il mio reddito da autista, anche se potrebbe succedere alla fine. È creare entrate ricorrenti sufficienti per avere flessibilità e opzioni. Quando non vivi di stipendio in stipendio, puoi correre rischi maggiori e pensare a lungo termine.
Costruire prodotti AI tra le corse Uber non è glamour, ma mi ha insegnato che l'innovazione non richiede condizioni perfette o risorse illimitate. Richiede solo perseveranza, volontà di fallire rapidamente, e la capacità di trovare opportunità negli spazi tra gli altri obblighi. Vancouver potrebbe non essere la Silicon Valley, ma è proprio per questo che è il posto perfetto per costruire prodotti che risolvono problemi reali per persone reali.
配車の合間にAIプロダクトを開発——バンクーバーの開発者が語るリアルな物語
2年前、私はダウンタウンのバンクーバーのオフィスビルの外に午後11時に停車し、エンジンをかけたまま乗客の電話が終わるのを待っていました。その時、すべてを変える通知が届きました。初めて手がけたAIのサイドプロジェクトが、かなりの数のAPIコールを処理したのです。生活が変わるほどのお金ではありませんでしたが、その瞬間、何かが心に響きました。もう単に人を乗せて運転しているだけではありません——眠っている間も動き続ける何かを、私は作り始めていたのです。
今日、街中のコーヒーショップでの配車と深夜のコーディング作業の合間に、私は3つのAIプロダクトをリリースし、それらを合わせるとかつての本業の収入をはるかに上回る収益を上げています。一朝一夕に成功した話や、秘密のコードを解読したふりをするつもりはありません。これこそが、自由時間よりも野心の方が大きい、バンクーバーの開発者としてAIプロダクトを構築する、カフェインまみれの混沌とした現実です。
これからお話しするのは、革新的なブレイクスルーやベンチャーキャピタルの話ではありません。Uberの配車の合間を縫って時間をやりくりし、マクドナルドの駐車場でコードのデバッグをし、そして、AIゴールドラッシュはもはやシリコンバレーだけのものではないとゆっくりと気づいていく過程の話です。また、迅速にリリースし、さらに迅速に改善を繰り返すことを学ぶ話でもあります——なぜなら、あなたのオフィスが車であり、開発時間が乗客のいない合間の時間で計測されるなら、一分一秒が貴重だからです。
偶然のAI開発者
テクノロジーの未来について壮大なビジョンがあったから、AIプロダクトを作り始めたわけではありません。きっかけは、時間とお金を交換することに疲れたからです。そして、OpenAIのAPIが、私のような——ある程度のPythonの知識と、バンクーバーの渋滞で過ごす時間が多すぎる独学の開発者——でも、実際に役立つものを作れるほどアクセスしやすくなったからです。
最初のプロジェクトは恥ずかしいほどシンプルでした。地元のニュースサイト向けのコンテンツ要約ツールです。バンクーバーのメディア事情が分断されていることに気づいていました——重要な市議会の決定は長文の記事の中に埋もれ、住宅政策の最新情報は複数のソースに分散し、交通機関の変更は見つけにくい形式で発表されていました。そこで、主要なバンクーバーのニュースソースから記事を取得し、GPTを使って読みやすい要約を作成するスクレイパーを構築しました。
技術的な実装は基本的なものでした。DigitalOceanの droplet上で動作するPythonスクリプト、スクレイピング用のBeautifulSoup、要約用のOpenAI API、そしてFlaskで構築したシンプルなWebインターフェース。総開発時間は、3週間で約40時間、ほとんどを配車リクエストがない待機時間にコーディングしました。
静かにローンチし、r/vancouver に投稿して、せいぜい十数人が試すだろうと予想していました。ところが、目を覚ますと何百人ものユーザーがいて、初めてのOpenAIの請求書に銀行口座を慌てて確認しました。その時、これを真剣に取り組まなければならないと気づきました——単なるサイドプロジェクトではなく、本当のビジネスとして。
学習曲線は急でした。コードの書き方は知っていましたが、プロダクト管理、ユーザーフィードバック、AI搭載サービスの価格設定については何も知りませんでした。誰も求めていない機能を過剰に作り込み、APIコストを過小評価し、ユーザーではなく自分のために作る——考えられる限りの間違いを犯しました。2ヶ月目の収益はわずかでした。なぜなら、機能追加に時間をかけすぎて、ユーザーを遠ざけているバグを修正するのを忘れていたからです。
バンクーバーのAI現実
バンクーバーでAIプロダクトを構築するには、独特の課題があります。私たちはシリコンバレーではありません——無制限のVC資金も、失敗を学習と見なす文化もありません。また、確立されたテックエコシステムと政府の支援があるトロントでもありません。私たちはその中間に位置しており、製品を構築しローンチする方法において、より機転を利かせ、創造的である必要があります。
ここでの生活費はすべてに影響します。家賃と車の支払いで収入の大部分が消えるとき、完璧な製品を作るために何ヶ月も費やす余裕はありません。すぐに収益を生み出すものが必要です。たとえそれが、OpenAIの請求書と、ガソリンスタンド以外で買うコーヒー代をまかなえる程度であっても。
私はよく車の中で仕事をします。選択してそうしているわけではありません——バンクーバーのコワーキングスペースは月々の電話代よりも高く、コーヒーショップは数時間経つと追い出されます。しかし、あなたがどこに駐車してもそこがオフィスになる、という自由な面もあります。Metrotownの駐車場で機械学習モデルのデバッグをし、YVRでの迎車待ち中にプロンプトを洗練させ、グランビル通りのTim Hortonsで午前2時に本番環境にコードをプッシュしたこともあります。
インターネット環境は常に興味深い問題です。バンクーバーの公共WiFiはせいぜい不安定なので、私は電波の良い場所を見つけるプロになりました——ルーターが見えるBlenzの角のボックス席、最も信号の強い図書館支店外の駐車スペース、なぜか私のアパートよりもアップロード速度が速いブロードウェイのマクドナルド。
実際に状況を変えたもの
転機が訪れたのは、次のChatGPTを作ろうとするのをやめ、特定の人々の特定の問題を解決することに集中し始めた時です。私の成功したプロダクトは革新的ではありません——人々が毎月お金を払ってもいいと思えるほど、ちょうど便利なだけです。
2つ目のプロダクトは、バンクーバーの住宅市場向けの賃貸物件分析ツールでした。ここでアパートを探したことがある人なら誰でもその苦労を知っています——誤解を招く写真、曖昧な説明、人生の選択を疑わせる価格。私は、CraigslistとFacebook Marketplaceをスクレイピングし、GPT-4でリスティングを分析し、潜在的な危険信号をフラグ付けしたり、本当にお得な物件を強調表示したりするツールを構築しました。AIは、平方フィートあたりの価格、交通機関への近さ、説明文の質に基づいてリスティングをスコアリングしました。
技術スタックは最初のプロダクトと似ていましたが、コストを管理可能に抑えることを学びました。すべてのリスティングをリアルタイムで処理する代わりに、OpenAIのレートが低いオフピーク時にリクエストをバッチ処理しました。すべてをデータベースに保存する代わりに、シンプルなJSONファイルを使用し、毎日データを再生成しました。複雑なユーザーインターフェースの代わりに、人々が購読できるシンプルなメールダイジェストを作成しました。
今回のローンチは異なりました。私は1週間かけて、バンクーバーのFacebookグループ、Redditコミュニティ、さらには市内でアパートを探している人々向けのDiscordサーバーに投稿しました。反応はすぐにありました——数日以内に、かなりの数の購読者が集まりました。さらに重要なことに、私は解決する価値のある本当の問題を見つけたという確証を得ました。
3つ目のプロダクトは、バンクーバーのレストラン事情に対する私自身のフラストレーションから生まれました。質の問題ではありません——この街には素晴らしい料理があります——しかし、ディスカバリー(発見)の問題があります。Yelpのレビューはほとんど役に立たず、Googleのレビューは一貫性がなく、フードブログはスポンサーコンテンツか、自分とは非常に異なる味覚を持つ人々によって書かれています。私は、複数のソースからレビューを分析し、本物の意見と偽物の可能性が高いものを識別し、あなたの好みに基づいてパーソナライズされたレコメンデーションを提供する、レストラン推薦エンジンを構築しました。
今回のAIコンポーネントはより洗練されていました。埋め込みを使用してレビューの感情や料理の好みをマッピングし、ユーザーフィードバックから学習する推薦アルゴリズムを構築し、特定のメニューアイテムに言及した最近のレビューに基づいて注文する料理を提案する機能まで追加しました。バンクーバーがCOVID制限から再開する直前にリリースしました。
実際の開発プロセス
人々はいつも私の開発プロセスについて尋ねます。洗練された方法論を期待しているのでしょう。現実はもっと混沌としています。私は盗んだようなわずかな時間でコードを書いています——乗客が店に走り込む間の15分、本業の昼休みの1時間、街が目覚める前の日曜の朝の3時間のセッション。
私のセットアップは必要最低限です。再生品のMacBook Pro、見る影もない車載充電器、WiFiが使えない時のためのモバイルホットスポット。VS Codeといくつかの必須拡張機能を使用し、環境はシンプルに保ち、クラウドサービスに大きく依存しています。なぜなら、日々どこで仕事をするか確約できないからです。
バージョン管理はGitHubを通じて行っていますが、私のコミットメッセージはおそらく、これまで書かれたベストプラクティスガイドのすべてに違反しているでしょう。"壊れてたものを修正" や "API呼び出しが動くようになった" は、私のプロジェクト履歴によくあるエントリーです。ドキュメントは最小限です——それを信じていないからではなく、次の配車リクエストの前に機能を実装する時間が30分しかない場合、優先順位が変わってくるからです。
テストはほとんど手動で、ほとんど本番環境で行われます。これで経験豊富な開発者は顔をしかめることを知っていますが、1日あたりかなりの数のリクエストを処理するプロダクトを一人で構築している場合、適切なテストフレームワークのオーバーヘッドは、しばしば価値がありません。重要なパスは執拗にテストします——支払いやユーザーが依存するデータを含むものは複数回チェックします——しかし、UIの微調整やあると便利な機能は、最小限の検証でリリースされます。
カスタマーサポートは、シンプルな問い合わせフォールームと私の個人メールを通じて行われます。サポート対応で迅速かつ人間味があることが、洗練されたヘルプセンターを持つことよりも、より大きなロイヤルティを生み出すことに気づきました。誰かがバグについてメールを送ってくると、通常数時間以内に私自身が返信します。誰かが機能を提案すると、それを構築できるかどうか、いつごろ期待できるかを正直に伝えます。
お金の現実
数字の話をしましょう。なぜなら、それが誰もが本当に知りたいことだからです。私の3つのプロダクトは現在、安定した毎月の経常収益を生み出しています。シリコンバレーのサクセスストーリーに比べれば大したことないように聞こえるかもしれませんが、バンクーバーでは、それが経済的ストレスと経済的余裕の差を意味します。
コストは管理可能ですが、無視できません。OpenAI APIの呼び出しが、全プロダクトで最大の経費です。サーバーホスティングも毎月のコストです。ドメイン名、SSL証明書、メールサービス、分析ツール——小さなサブスクリプションが積み重なります。私の最大の出費は実際には時間です——運転ではなくコーディングに費やした時間の機会費用で、忙しい夜にはかなりの額になります。
収益はすべてサブスクリプションから来ています。1回限りの購入やフリーミアムモデルも試しましたが、毎月のサブスクリプションがこれを持続可能にする予測可能な収入を提供します。私の価格は意図的に控えめにしています——より少ない顧客からより多くを取るよりも、より多くの顧客からより少なくを取る方を選びます。バンクーバーはサンフランシスコではありません。ここの人々は価格に敏感で、何かが高くなりすぎれば乗り換えます。
季節的なパターンも興味深いです。賃貸分析ツールは、人々がアパートを探す春と秋に最もよく売れます。レストランツールは夏とホリデーシーズンにピークを迎えます。ニュース要約ツールは年間を通じて安定していますが、選挙期間中や主要な市議会の決定時に急増します。
利益のほとんどはプロダクトに再投資しています——ピーク時の使用に対応するためのより良いサーバー、OpenAIが新機能をリリースした際のAPI、地元のFacebookグループでの時折の有料広告。ライフスタイルのインフレは最小限に抑えています。この収入は保証されたものではなく、ガソリン代と食料品代のどちらかを選ばなければならなかった感覚を、私はあまりにも鮮明に覚えているからです。
失敗のコレクション
うまくいったプロダクト1つにつき、うまくいかなかったものが3つあります。誰も使わなかったAI搭載イベント発見アプリ(Facebookがすでにその問題を解決していました)。地元企業向けの自動ソーシャルメディアスケジューラー(構築に2ヶ月かけた後、ターゲット顧客が毎月のサブスクリプションを払えないことに気づきました)。シンプルな予算管理を望む人には複雑すぎ、複雑な分析を望む人にはシンプルすぎたパーソナルファイナンスアシスタント。
最も辛かった失敗は、バンクーバーのフリーランサー向けに、求人情報を分析し最適な価格戦略を提案するツールでした。これは大ヒットすると確信していました——知り合いのフリーランサーは皆、価格設定に苦労しており、AIは市場レートと競合を分析するのに完璧だと思えたのです。構築に4ヶ月を費やし、詳細なペルソナを作成し、ベータテスターにサブスクリプションを先行販売までしました。
完全に失敗しました。フリーランサーはアルゴリズムによる提案ではなく、価格設定に関する人間のアドバイスを欲しがっていました。データ分析ではなく、コミュニティとネットワーキングを求めていました。私は、自分が考えていたような形では実際には存在しない問題に対する解決策を構築していたのです。その失敗は、どんなサクセスストーリーよりも、プロダクトマーケットフィットについて多くを教えてくれました。
今後の展望
私は次のユニコーンを目指しているのでも、Googleに買収されようとしているのでもありません。持続可能で収益性の高い、私の街の人々の現実の問題を解決するプロダクトを構築しようとしているのです。AIの波は現在の形で永遠に続くわけではありませんが、より良いツールと自動化への根底的なニーズは続くでしょう。
次のプロダクトはすでに開発中です——バンクーバーの中小企業経営者向けのAIアシスタントで、ソーシャルメディアへの投稿作成から顧客フィードバックの分析までを支援します。これは、配車中に数十人の地元事業主と交わした会話に基づいており、初期テストでは何かをつかみかけていることを示唆しています。
長期的な目標は、運転による収入を完全に置き換えることではありません(最終的にはそうなるかもしれませんが)。十分な経常収益を生み出し、柔軟性と選択肢を持つことです。給料日前で生活していなければ、より大きなリスクを冒し、長期的な思考ができます。
Uberの配車の合間にAIプロダクトを構築することは、華やかではありませんが、革新には完璧な環境や無限のリソースは必要ないことを教えてくれました。必要なのは、粘り強さ、素早く失敗する意欲、そして他の義務の合間にある機会を見つける能力です。バンクーバーはシリコンバレーではないかもしれませんが、だからこそ、実際の人々の実際の問題を解決するプロダクトを構築するのに完璧な場所なのです。
라이딩 사이에 AI 제품 만들기: 한 밴쿠버 개발자의 실제 이야기
2년 전, 저는 다운타운 밴쿠버 사무실 건물 밖에서 오후 11시에 차를 세워두고 엔진을 켠 채 손님이 통화를 마칠 때까지 기다리고 있었습니다. 그때 모든 것을 바꾼 알림이 도착했습니다. 제 첫 AI 사이드 프로젝트가 의미 있는 수의 API 호출을 처리한 것이었습니다. 인생을 바꿀 만한 돈은 아니었지만, 그 순간 뭔가 깨달았습니다. 저는 더 이상 사람들을 태워 나르는 것만이 아니라, 제가 잠을 자는 동안에도 작동하는 무언가를 만들고 있었습니다.
오늘날, 도시 곳곳의 커피숍에서 라이딩 사이와 늦은 밤 코딩 세션을 오가며, 저는 세 개의 AI 제품을 출시했습니다. 이 제품들은 합쳐서 예전에 제가 정규직으로 벌던 것보다 훨씬 많은 수익을 창출하고 있습니다. 이것이 하룻밤 사이에 이룬 성공 이야기나 제가 비밀 코드를 해독했다고 말하려는 것은 아닙니다. 이것은 야망은 넘치지만 자유 시간은 부족한 밴쿠버의 한 개발자가 AI 제품을 만드는 지저분하고 카페인에 의존하는 현실입니다.
제가 앞으로 들려드릴 이야기는 혁명적인 돌파구나 벤처 캐피털에 관한 것이 아닙니다. 그것은 Uber 픽업 사이에 시간을 쪼개고, McDonald's 주차장에서 코드를 디버깅하며, AI 골드러시가 더 이상 실리콘밸리만의 일이 아니라는 사실을 서서히 깨닫는 과정에 관한 이야기입니다. 또한 빠르게 출시하고 더 빠르게 반복하는 법을 배우는 이야기이기도 합니다. 사무실이 차이고 개발 시간이 승객이 없는 틈으로 측정될 때, 모든 순간이 중요하기 때문입니다.
우연한 AI 개발자
제가 AI 제품을 만들기 시작한 것은 미래 기술에 대한 거대한 비전이 있었기 때문이 아닙니다. 시간을 돈과 맞바꾸는 데 지쳤고, OpenAI의 API가 제게도 충분히 접근 가능해졌기 때문입니다. 저는 Python 배경 지식을 갖춘 독학 개발자였고, 밴쿠버 교통 체증 속에서 너무 많은 시간을 보내고 있었기에, 실제로 유용한 무언가를 만들 수 있었습니다.
첫 번째 프로젝트는 부끄러울 정도로 간단했습니다. 지역 뉴스 사이트를 위한 콘텐츠 요약 도구였습니다. 저는 밴쿠버의 미디어 환경이 분열되어 있다는 것을 알아챘습니다. 중요한 시의회 결정은 긴 기사에 묻혀 있고, 주택 정책 업데이트는 여러 출처에 흩어져 있으며, 대중교통 변경 사항은 찾기조차 어려운 형식으로 발표되었습니다. 저는 밴쿠버 주요 뉴스 출처에서 기사를 가져와 GPT를 사용하여 이해하기 쉬운 요약을 만드는 스크래퍼를 구축했습니다.
기술적인 구현은 기본적이었습니다. DigitalOcean 드롭릿에서 실행되는 Python 스크립트, 스크래핑을 위한 BeautifulSoup, 요약을 위한 OpenAI API, 그리고 Flask로 구축된 간단한 웹 인터페이스. 총 개발 시간은 3주에 걸쳐 약 40시간 정도였고, 대부분 라이딩 요청 사이의 공백 시간에 코딩되었습니다.
조용히 출시하고 r/vancouver에 게시했을 때, 아마 12명 정도만 사용해볼 것으로 예상했습니다. 대신, 수백 명의 사용자와 함께 제 OpenAI 첫 청구서를 보고 은행 계좌를 확인하느라 당황했습니다. 그때 저는 이것을 단순한 사이드 프로젝트가 아닌 진정한 비즈니스로 진지하게 다뤄야 한다는 것을 깨달았습니다.
학습 곡선은 가팔랐습니다. 저는 코딩 방법을 알았지만, 제품 관리, 사용자 피드백, AI 기반 서비스 가격을 책정하는 방법에 대해서는 아무것도 몰랐습니다. 가능한 모든 실수를 저질렀습니다. 아무도 요구하지 않은 기능을 과도하게 엔지니어링하고, API 비용을 과소평가하고, 사용자 대신 나 자신을 위해 제품을 구축한 것입니다. 두 번째 달 수익은 미미했습니다. 사람들을 쫓아내는 버그를 고치는 것을 잊은 채 기능 추가에 너무 많은 시간을 썼기 때문입니다.
밴쿠버 AI 현실
밴쿠버에서 AI 제품을 만드는 데는 독특한 도전 과제가 따릅니다. 우리는 실리콘밸리가 아닙니다. 무제한적인 VC 자금이나 실패를 학습으로 기념하는 문화가 없습니다. 또한 확립된 기술 생태계와 정부 지원을 갖춘 토론토도 아닙니다. 우리는 그 중간 어딘가에 있으며, 이는 제품을 구축하고 출시하는 방식에 있어 더 기민하고 창의적이어야 함을 의미합니다.
이곳의 생활비는 모든 것에 영향을 미칩니다. 월세와 자동차 할부금이 수입의 대부분을 잡아먹을 때, 완벽한 제품을 만드는 데 몇 달을 쓸 여유가 없습니다. OpenAI 청구서와 어쩌면 주유소 커피가 아닌 커피 한 잔 값을 충당할 수 있을 만큼이라도, 빠르게 수익을 창출하는 무언가가 필요합니다.
저는 차에서 많은 시간을 일합니다. 선택이 아닙니다. 밴쿠버의 코워킹 스페이스는 월 휴대폰 요금보다 비싸고, 카페는 몇 시간 후면 나가라고 합니다. 하지만 사무실이 주차하는 곳 어디든 될 수 있다는 데는 해방감이 있습니다. Metrotown 주차장에서 머신러닝 모델을 디버깅하고, YVR 밖에서 픽업 요청을 기다리며 프롬프트를 다듬고, Granville Street의 Tim Hortons에서 오전 2시에 프로덕션에 코드를 푸시했습니다.
인터넷 상황은 항상 흥미롭습니다. 밴쿠버의 공공 WiFi는 형편없기 때문에, 저는 최적의 장소를 찾는 전문가가 되었습니다. 라우터가 보이는 Blenz의 코너 부스, 신호가 가장 센 도서관 지점 밖의 주차 공간, 제 아파트보다 업로드 속도가 더 빠른 Broadway의 McDonald's 같은 곳 말입니다.
실제로 판도를 바꾼 것
획기적인 전환점은 차세대 ChatGPT를 만들려고 하지 않고, 특정 사람들을 위한 특정 문제를 해결하는 데 집중하기 시작했을 때였습니다. 제 성공적인 제품들은 혁명적이지 않습니다. 사람들이 매달 비용을 지불할 의향이 있을 만큼 충분히 유용할 뿐입니다.
두 번째 제품은 밴쿠버 주택 시장을 위한 렌탈 리스팅 분석기였습니다. 이곳에서 아파트를 찾아본 사람이라면 누구나 그 고통을 압니다. 오해의 소지가 있는 사진, 모호한 설명, 인생의 선택을 의심하게 만드는 가격. 저는 Craigslist와 Facebook Marketplace를 스크래핑하고, GPT-4로 리스팅을 분석하며, 잠재적인 위험 신호를 표시하거나 진짜 좋은 거래를 강조하는 도구를 만들었습니다. AI는 평방피트당 가격, 대중교통과의 근접성, 설명 품질을 기준으로 리스팅에 점수를 매겼습니다.
기술 스택은 첫 번째 제품과 비슷했지만, 비용을 관리하는 방법을 배웠습니다. 모든 리스팅을 실시간으로 처리하는 대신, OpenAI 요금이 더 낮은 비수기 시간에 요청을 일괄 처리했습니다. 모든 것을 데이터베이스에 저장하는 대신 간단한 JSON 파일을 사용하고 데이터를 매일 새로 생성했습니다. 복잡한 사용자 인터페이스 대신 사람들이 구독할 수 있는 간단한 이메일 다이제스트를 만들었습니다.
이번에는 출시 방식이 달랐습니다. 저는 밴쿠버 Facebook 그룹, Reddit 커뮤니티, 그리고 도시에서 아파트를 구하는 사람들을 위해 찾은 일부 Discord 서버에 일주일 동안 글을 올렸습니다. 반응은 즉각적이었습니다. 며칠 안에 의미 있는 수의 구독자를 확보했습니다. 더 중요한 것은, 제가 해결할 가치가 있는 실제 문제를 찾았다는 확인을 받았다는 것입니다.
세 번째 제품은 밴쿠버의 레스토랑 현장에 대한 제 좌절감에서 비롯되었습니다. 음식의 질이 아니라 발견(discovery) 문제였습니다. Yelp 리뷰는 대부분 쓸모없고, Google 리뷰는 일관성이 없으며, 푸드 블로그는 협찬 콘텐츠이거나 저와 취향이 매우 다른 사람들이 쓴 글입니다. 저는 여러 출처의 리뷰를 분석하고, 진짜 의견과 가짜 의심 리뷰를 식별하며, 사용자 선호도에 따라 개인화된 추천을 제공하는 레스토랑 추천 엔진을 구축했습니다.
AI 구성 요소는 이번에 더 정교했습니다. 리뷰 감정과 요리 선호도를 매핑하기 위해 임베딩을 사용하고, 사용자 피드백을 통해 학습하는 추천 알고리즘을 구축했으며, 특정 메뉴 항목을 언급하는 최근 리뷰를 기반으로 주문할 요리를 제안하는 기능까지 추가했습니다. 밴쿠버가 COVID 제한 조치를 해제할 즈음에 출시했습니다.
실제 개발 과정
사람들은 항상 제 개발 과정에 대해 물어보며 정교한 방법론을 기대합니다. 현실은 훨씬 더 혼란스럽습니다. 저는 훔친 시간 속에서 코딩합니다. 승객이 가게에 들르는 15분, 직장 점심 시간 1시간, 도시가 깨어나기 전 일요일 아침 3시간 세션 등입니다.
제 설정은 필요에 의해 최소한입니다. 리퍼브 MacBook Pro, 상태가 좋지 않은 자동차 충전기, WiFi가 없을 때를 대비한 모바일 핫스팟. 저는 몇 가지 필수 확장 프로그램이 포함된 VS Code를 사용하고, 환경을 단순하게 유지하며, 매일 어디서 작업할지 보장할 수 없기 때문에 클라우드 서비스에 크게 의존합니다.
버전 관리는 GitHub를 통해 이루어지지만, 제 커밋 메시지는 아마 지금까지 작성된 모든 모범 사례 가이드를 위반할 것입니다. "고장난 거 고침", "API 호출 이제 작동함" 같은 것들이 제 프로젝트 기록의 일반적인 항목입니다. 문서화는 최소한입니다. 그것을 믿지 않아서가 아니라, 다음 라이딩 요청 전에 기능을 구현할 시간이 30분밖에 없을 때는 우선순위를 다르게 정하기 때문입니다.
테스트는 대부분 수동으로, 대부분 프로덕션 환경에서 이루어집니다. 숙련된 개발자들은 이를 듣고 움찔할 것임을 압니다. 하지만 합리적인 수의 요청을 처리하는 제품을 구축하는 1인 팀일 때, 적절한 테스트 프레임워크의 오버헤드는 종종 그만한 가치가 없습니다. 저는 중요한 경로(결제나 사용자가 의존하는 데이터와 관련된 모든 것)를 강박적으로 테스트하지만, UI 조정이나 있으면 좋은 기능은 최소한의 검증만 거쳐 출시됩니다.
고객 지원은 간단한 문의 양식과 개인 이메일을 통해 이루어집니다. 저는 지원 상호 작용에서 신속하게 응답하고 인간적인 모습을 보이는 것이 세련된 도움말 센터를 운영하는 것보다 더 큰 충성도를 만든다는 것을 알게 되었습니다. 누군가 버그에 대해 이메일을 보내면, 대개 몇 시간 안에 개인적으로 답변합니다. 누군가 기능을 제안하면, 그것을 만들 수 있는지와 언제쯤 기대할 수 있는지 정직하게 알려줍니다.
돈의 현실
숫자에 대해 이야기해 봅시다. 왜냐하면 그것이 모두가 가장 알고 싶어하는 것이기 때문입니다. 제 세 제품은 현재 꾸준한 월간 반복 수익을 창출하고 있습니다. 실리콘밸리의 성공 사례에 비하면 대단해 보이지 않을 수 있지만, 밴쿠버에서는 재정적 스트레스와 재정적 여유의 차이를 의미합니다.
비용은 관리할 수 있지만 상당합니다. OpenAI API 호출은 모든 제품 중 가장 큰 지출 항목입니다. 서버 호스팅도 매달 드는 비용입니다. 도메인 이름, SSL 인증서, 이메일 서비스, 분석 도구 — 작은 구독들이 합쳐집니다. 사실 가장 큰 비용은 시간입니다. 운전 대신 코딩에 보낸 시간의 기회비용이며, 바쁜 밤에는 상당할 수 있습니다.
수익은 전적으로 구독에서 발생합니다. 저는 일회성 구매와 프리미엄 모델(freemium)을 시도해 봤지만, 월간 구독이 지속 가능하게 만드는 예측 가능한 수입을 제공합니다. 제 가격은 의도적으로 적당하게 책정되었습니다. 더 적은 수의 고객이 더 많은 금액을 지불하는 것보다, 더 많은 고객이 더 적은 금액을 지불하는 편이 낫습니다. 밴쿠버는 샌프란시스코가 아닙니다. 이곳 사람들은 가격에 민감하며, 무언가가 너무 비싸지면 기꺼이 바꿉니다.
계절별 패턴도 흥미롭습니다. 렌탈 분석기는 사람들이 아파트를 구하는 봄과 가을에 가장 잘 팔립니다. 레스토랑 도구는 여름과 연휴 시즌에 최고조에 달합니다. 뉴스 요약기는 연중 꾸준하지만 선거 기간이나 주요 시의회 결정이 있을 때 급증합니다.
저는 대부분의 수익을 제품에 재투자합니다. 사용량이 많을 때 더 나은 서버, OpenAI가 새 기능을 출시할 때 새로운 API 기능, 지역 Facebook 그룹에 가끔 하는 유료 광고 등입니다. 생활 수준 인플레이션은 최소한으로 유지합니다. 이 수입이 보장된 것이 아니며, 기름값과 장보기 값 사이에서 선택해야 했던 때를 너무나 생생하게 기억하기 때문입니다.
실패의 기록
성공한 모든 제품에 대해, 저는 성공하지 못한 제품을 세 개 더 만들었습니다. Facebook이 이미 해결한 문제라 아무도 사용하지 않은 AI 기반 이벤트 발견 앱이 있었습니다. 지역 비즈니스를 위한 자동화된 소셜 미디어 스케줄러는 타겟 고객이 월간 구독료를 감당할 수 없다는 것을 깨닫기까지 두 달을 투자했습니다. 간단한 예산 관리를 원하는 사람들에게는 너무 복잡하고, 복잡한 분석을 원하는 사람들에게는 너무 단순했던 개인 재무 도우미가 있었습니다.
가장 힘들었던 실패는 밴쿠버 프리랜서들을 위한 도구로, 구인 공고를 분석하고 최적의 가격 책정 전략을 제안하는 것이었습니다. 저는 이것이 대성공할 것이라고 확신했습니다. 제가 아는 모든 프리랜서가 가격 책정에 어려움을 겪었고, AI가 시장 요율과 경쟁을 분석하는 데 완벽해 보였기 때문입니다. 4개월을 들여 만들고, 상세한 페르소나를 만들었으며, 베타 테스터에게 구독을 선판매하기까지 했습니다.
완전히 실패했습니다. 프리랜서들은 알고리즘 제안보다는 가격 책정에 대한 인간의 조언을 원했습니다. 그들은 데이터 분석이 아닌 커뮤니티와 네트워킹을 원했습니다. 저는 제가 생각했던 방식으로는 실제로 존재하지 않는 문제에 대한 해결책을 만든 셈이었습니다. 그 실패는 어떤 성공 사례보다도 제품-시장 적합성(product-market fit)에 대해 더 많이 가르쳐주었습니다.
다음은 무엇인가
저는 차세대 유니콘을 만들거나 Google에 인수되려는 것이 아닙니다. 제 도시의 사람들을 위한 실제 문제를 해결하는 지속 가능하고 수익성 있는 제품을 만들기 위해 노력하고 있습니다. AI 열풍은 현재 형태로 영원히 지속되지는 않겠지만, 더 나은 도구와 자동화에 대한 근본적인 필요는 계속될 것입니다.
제 다음 제품은 이미 개발 중입니다. 밴쿠버 소규모 비즈니스 소유자를 위한 AI 어시스턴트로, 소셜 미디어 게시물 작성부터 고객 피드백 분석까지 모든 것을 지원합니다. 라이딩 중에 만난 수십 명의 지역 비즈니스 소유자와의 대화를 바탕으로 하고 있으며, 초기 테스트 결과 제가 옳은 방향으로 가고 있음을 시사합니다.
장기적인 목표는 운전 수입을 완전히 대체하는 것이 아닙니다. 비록 그렇게 될 수도 있겠지만요. 유연성과 선택권을 가질 수 있을 만큼 충분한 반복 수익을 창출하는 것입니다. 월급날을 손꼽아 기다리며 살지 않을 때, 더 큰 위험을 감수하고 장기적인 안목으로 생각할 수 있습니다.
Uber 라이딩 사이에 AI 제품을 만드는 것은 화려하지 않지만, 혁신에는 완벽한 조건이나 무제한적인 자원이 필요하지 않다는 것을 가르쳐주었습니다. 필요한 것은 끈기, 빠르게 실패하려는 의지, 그리고 다른 의무 사이의 공간에서 기회를 찾는 능력입니다. 밴쿠버는 실리콘밸리가 아닐지 모르지만, 바로 그렇기 때문에 실제 사람들을 위한 실제 문제를 해결하는 제품을 만들기에 완벽한 장소입니다.
AI-producten bouwen tussen ritten door: Het ware verhaal van een Vancouver-ontwikkelaar
Twee jaar geleden stond ik om 23:00 uur geparkeerd voor een kantoorpand in downtown Vancouver, met draaiende motor terwijl mijn passagier een telefoontje beëindigde, toen ik de melding kreeg die alles zou veranderen. Mijn eerste AI-sideproject had net een respectabel aantal API-aanroepen verwerkt. Niet bepaald levensveranderend geld, maar op dat moment klikte er iets. Ik was niet langer alleen maar mensen aan het rondrijden — ik bouwde iets dat kon werken terwijl ik sliep.
Tegenwoordig, tussen ritten en late nachten coderen in koffietentjes door de stad, heb ik drie AI-producten gelanceerd die gezamenlijk aanzienlijk meer opleveren dan mijn dagbaan ooit deed. Ik ga niet doen alsof dit een of ander succesverhaal van de ene op de andere dag was, of dat ik een geheime code heb gekraakt. Dit is de rommelige, met cafeïne aangedreven realiteit van het bouwen van AI-producten als een Vancouver-ontwikkelaar met meer ambitie dan vrije tijd.
Het verhaal dat ik ga delen gaat niet over revolutionaire doorbraken of durfkapitaal. Het gaat over het stelen van momenten tussen Uber-ritten door, het debuggen van code op parkeerplaatsen van McDonald's, en het langzame besef dat de AI-goudkoorts niet langer alleen voor Silicon Valley is. Het gaat ook over het leren snel te leveren en nog sneller te itereren — want wanneer je kantoor je auto is en je ontwikkeltijd wordt gemeten in passagiersvrije intervallen, telt elke minuut.
De Toevallige AI-ontwikkelaar
Ik begon niet met het bouwen van AI-producten omdat ik een of andere grootse visie had over de toekomst van technologie. Ik begon omdat ik het zat was om tijd voor geld te ruilen, en de API van OpenAI net toegankelijk genoeg was geworden dat iemand zoals ik — een autodidactische ontwikkelaar met een behoorlijke Python-achtergrond en te veel tijd doorgebracht in het verkeer van Vancouver — daadwerkelijk iets nuttigs kon bouwen.
Mijn eerste project was beschamend eenvoudig: een tool voor het samenvatten van content voor lokale nieuwssites. Het was me opgevallen dat het medialandschap van Vancouver versnipperd was — belangrijke beslissingen van de gemeenteraad begraven in lange artikelen, updates over huisvestingsbeleid verspreid over meerdere bronnen, wijzigingen in het openbaar vervoer aangekondigd in formaten die ze onvindbaar maakten. Ik bouwde een scraper die artikelen van belangrijke Vancouver-nieuwsbronnen haalde en GPT gebruikte om behapbare samenvattingen te maken.
De technische implementatie was basaal. Een Python-script dat draaide op een DigitalOcean-droplet, BeautifulSoup voor het scrapen, OpenAI's API voor het samenvatten, en een simpele webinterface gebouwd met Flask. Totale ontwikkelingstijd: misschien veertig uur verspreid over drie weken, meestal gecodeerd tijdens de dode momenten tussen ritverzoeken.
Ik lanceerde het stilletjes, plaatste het op r/vancouver, en verwachtte dat misschien een dozijn mensen het zouden proberen. In plaats daarvan werd ik wakker met honderden gebruikers en mijn eerste OpenAI-rekening waardoor ik in paniek mijn bankrekening controleerde. Toen besefte ik dat ik dit serieus moest gaan nemen — niet alleen als een sideproject, maar als een echte onderneming.
De leercurve was steil. Ik wist hoe ik moest coderen, maar ik wist niets over productmanagement, gebruikersfeedback, of hoe ik AI-gestuurde diensten moest prijzen. Ik maakte elke mogelijke fout: functies over-engineeren waar niemand om vroeg, API-kosten onderschatten, voor mezelf bouwen in plaats van voor mijn gebruikers. Mijn opbrengst in de tweede maand was minimaal omdat ik zoveel tijd had besteed aan het toevoegen van functies dat ik vergat de bugs te repareren die mensen wegjoegen.
De AI-realiteit van Vancouver
Het bouwen van AI-producten in Vancouver brengt unieke uitdagingen met zich mee. We zijn niet Silicon Valley — we hebben geen onbeperkte VC-financiering of een cultuur die falen viert als leermoment. We zijn ook niet Toronto, met zijn gevestigde tech-ecosysteem en overheidssteun. We zitten ergens tussenin, wat betekent dat we vindingrijker en creatiever moeten zijn in hoe we producten bouwen en lanceren.
De kosten van levensonderhoud hier beïnvloeden alles. Wanneer je huur en autobetaling het grootste deel van je inkomen opslokken, kun je je niet veroorloven maanden te besteden aan het bouwen van het perfecte product. Je hebt iets nodig dat snel inkomsten genereert, al is het maar genoeg om je OpenAI-rekeningen te dekken en misschien een koffie die niet van een tankstation komt.
Ik werk veel vanuit mijn auto. Niet uit vrije keuze — coworkingruimtes in Vancouver kosten meer dan mijn maandelijkse telefoonrekening, en koffietentjes zetten je er na een paar uur uit. Maar er is iets bevrijdends aan het hebben van je kantoor waar je ook parkeert. Ik heb machine learning-modellen gedebugd op de parkeerplaats van Metrotown, prompts verfijnd terwijl ik buiten YVR wachtte op ophaalverzoeken, en code naar productie gepusht vanuit een Tim Hortons aan de Granville Street om 2 uur 's nachts.
De internetsituatie is altijd interessant. De openbare WiFi van Vancouver is op zijn best wisselvallig, dus ik ben een expert geworden in het vinden van de zoete plekjes — de hoekcabine bij Blenz waar je de router kunt zien, de parkeerplek buiten de bibliotheek met het sterkste signaal, de McDonald's op Broadway die om de een of andere manier betere uploadsnelheden heeft dan mijn appartement.
Wat Echt Het Verschil Maakte
De doorbraak kwam toen ik stopte met proberen de volgende ChatGPT te bouwen en me begon te concentreren op het oplossen van specifieke problemen voor specifieke mensen. Mijn succesvolle producten zijn niet revolutionair — ze zijn gewoon nuttig genoeg dat mensen bereid zijn er maandelijks voor te betalen.
Product nummer twee was een analysetool voor huurwoningen voor de huizenmarkt van Vancouver. Iedereen die hier ooit naar een appartement heeft gezocht, kent de pijn: misleidende foto's, vage beschrijvingen, prijzen die je aan je levenskeuzes doen twijfelen. Ik bouwde een tool die Craigslist en Facebook Marketplace scrapete, advertenties analyseerde met GPT-4, en mogelijke rode vlaggen markeerde of echte koopjes benadrukte. De AI beoordeelde advertenties op basis van prijs per vierkante meter, nabijheid van openbaar vervoer en kwaliteit van de beschrijving.
De technische stack was vergelijkbaar met mijn eerste product, maar ik had geleerd de kosten beheersbaar te houden. In plaats van elke advertentie real-time te verwerken, bundelde ik verzoeken tijdens daluren toen de tarieven van OpenAI lager waren. In plaats van alles in een database op te slaan, gebruikte ik simpele JSON-bestanden en regenereerde ik de data dagelijks. In plaats van een complexe gebruikersinterface creëerde ik een eenvoudige e-mailupdate waar mensen zich op konden abonneren.
De lancering was deze keer anders. Ik bracht een week door met posten in Facebookgroepen in Vancouver, Reddit-community's, en zelfs enkele Discord-servers die ik had gevonden voor mensen die in de stad naar appartementen zochten. De respons was onmiddellijk — binnen enkele dagen had ik een aanzienlijk aantal abonnees. Nog belangrijker, ik had validatie dat ik een echt probleem had gevonden dat het oplossen waard was.
Product nummer drie kwam voort uit mijn eigen frustratie met de restaurantscene van Vancouver. Niet de kwaliteit — de stad heeft ongelooflijk eten — maar het ontdekkingsprobleem. Yelp-recensies zijn grotendeels nutteloos, Google-recensies zijn inconsistent, en foodblogs zijn ofwel gesponsorde content of geschreven door mensen met een heel andere smaak dan de mijne. Ik bouwde een restaurantaanbevelingsengine die recensies uit meerdere bronnen analyseerde, oprechte meningen onderscheidde van waarschijnlijk neppe, en gepersonaliseerde aanbevelingen gaf op basis van jouw voorkeuren.
Het AI-onderdeel was deze keer geavanceerder. Ik gebruikte embeddings om de sentiment- en keukenvoorkeuren van recensies in kaart te brengen, bouwde een aanbevelingsalgoritme dat leerde van gebruikersfeedback, en voegde zelfs een functie toe die gerechten voorstelde om te bestellen op basis van recente recensies waarin specifieke menu-items werden genoemd. Ik lanceerde het net toen Vancouver heropende na de COVID-beperkingen.
Het Echte Ontwikkelproces
Mensen vragen altijd naar mijn ontwikkelproces, in de verwachting van een of andere verfijnde methodologie. De realiteit is veel chaotischer. Ik codeer in gestolen momenten — vijftien minuten terwijl een passagier even een winkel binnenrent, een uur tijdens de lunchpauze bij mijn dagbaan, sessies van drie uur op zondagochtend voordat de stad ontwaakt.
Mijn opstelling is minimaal uit noodzaak. Een refurbished MacBook Pro, een autolader die betere dagen heeft gekend, en een mobiele hotspot voor wanneer WiFi niet beschikbaar is. Ik gebruik VS Code met een paar essentiële extensies, houd mijn omgevingen eenvoudig, en vertrouw sterk op clouddiensten omdat ik niet kan garanderen waar ik van dag tot dag zal werken.
Versiebeheer gebeurt via GitHub, maar mijn commit-berichten overtreden waarschijnlijk elke ooit geschreven best practice-gids. "Fixed the thing that was broken" en "API calls work now" zijn veelvoorkomende vermeldingen in mijn projectgeschiedenissen. Documentatie is minimaal — niet omdat ik er niet in geloof, maar omdat wanneer je dertig minuten hebt om een functie te implementeren voordat je volgende ritverzoek binnenkomt, je anders prioriteert.
Testen is grotendeels handmatig en gebeurt grotendeels in productie. Ik weet dat dit doorgewinterde ontwikkelaars doet huiveren, maar wanneer je een team van één bent dat producten bouwt die een redelijk aantal verzoeken per dag verwerken, zijn de overheadkosten van goede testframeworks het vaak niet waard. Ik test de kritieke paden obsessief — alles wat met betalingen of data te maken heeft waar gebruikers afhankelijk van zijn, krijgt meerdere controles — maar de UI-aanpassingen en leuk-om-te-hebben-functies worden met minimale validatie verscheept.
Klantenservice verloopt via een eenvoudig contactformulier en mijn persoonlijke e-mail. Ik heb gemerkt dat responsief en menselijk zijn in ondersteuningsinteracties meer loyaliteit creëert dan een gepolijst helpcenter. Wanneer iemand mailt over een bug, krijgen ze persoonlijk antwoord van mij, meestal binnen een paar uur. Wanneer iemand een functie voorstelt, vertel ik ze eerlijk of ik die kan bouwen en wanneer ze die kunnen verwachten.
De Geldrealiteit
Laten we het over cijfers hebben, want dat is wat iedereen echt wil weten. Mijn drie producten genereren momenteel een stabiele maandelijkse terugkerende omzet. Dat klinkt misschien niet als veel in vergelijking met Silicon Valley-succesverhalen, maar in Vancouver is het het verschil tussen financiële stress en financiële ademruimte.
De kosten zijn beheersbaar maar aanzienlijk. OpenAI API-aanroepen zijn mijn grootste uitgave voor alle producten. Serverhosting is een andere maandelijkse kost. Domeinnamen, SSL-certificaten, e-maildienst, analysetools — de kleine abonnementen tellen op. Mijn grootste uitgave is eigenlijk tijd — de opportuniteitskosten van uren besteed aan coderen in plaats van rijden, wat op drukke avonden aanzienlijk kan zijn.
Inkomsten komen volledig uit abonnementen. Ik probeerde eenmalige aankopen en freemium-modellen, maar maandelijkse abonnementen zorgen voor de voorspelbare inkomsten die dit duurzaam maken. Mijn prijzen zijn bewust bescheiden — ik heb liever meer klanten die minder betalen dan minder klanten die meer betalen. Vancouver is niet San Francisco; mensen hier zijn prijsbewust en bereid over te stappen als iets te duur wordt.
De seizoenspatronen zijn interessant. Mijn huuranalyse-tool presteert het beste in het voorjaar en najaar wanneer mensen op zoek zijn naar appartementen. De restauranttool piekt tijdens de zomer- en feestdagen. De nieuws-samenvatter is het hele jaar door stabiel, maar piekt tijdens verkiezingsperiodes of belangrijke gemeenteraadsbeslissingen.
Ik herinvesteer de meeste winst terug in de producten — betere servers tijdens piekgebruik, nieuwe API-functies wanneer OpenAI ze uitbrengt, af en toe betaalde advertenties in lokale Facebookgroepen. Ik houd mijn levensstijlinflatie minimaal omdat dit inkomen niet gegarandeerd is, en ik herinner me maar al te goed hoe het voelde om te moeten kiezen tussen benzinegeld en boodschappengeld.
De Mislukkingscollectie
Voor elk product dat werkte, bouwde ik er drie die dat niet deden. Er was de AI-gestuurde evenementenontdekkings-app die niemand gebruikte omdat Facebook dat probleem al had opgelost. De geautomatiseerde social media-planner voor lokale bedrijven waar ik twee maanden aan bouwde voordat ik besefte dat mijn doelgroep zich geen maandelijkse abonnementen kon veroorloven. De persoonlijke financiële assistent die te complex was voor mensen die eenvoudige budgettering wilden en te eenvoudig voor mensen die complexe analyses wilden.
De moeilijkste mislukking was een tool voor Vancouver-freelancers die vacatures zou analyseren en optimale prijsstrategieën zou voorstellen. Ik was ervan overtuigd dat dit groot zou worden — elke freelancer die ik kende worstelde met prijsstelling, en AI leek perfect voor het analyseren van markttarieven en concurrentie. Ik besteedde vier maanden aan het bouwen ervan, creëerde gedetailleerde persona's, en verkocht zelfs vooraf abonnementen aan bètatesters.
Het flopte volledig. Freelancers wilden menselijk advies over prijsstelling, geen algoritmische suggesties. Ze wilden community en netwerken, geen data-analyse. Ik had een oplossing gebouwd voor een probleem dat niet echt bestond zoals ik dacht. Die mislukking leerde me meer over product-marktfit dan welk succesverhaal dan ook ooit zou kunnen.
Wat Nu Komen Gaat
Ik probeer niet de volgende unicorn te bouwen of overgenomen te worden door Google. Ik probeer duurzame, winstgevende producten te bouwen die echte problemen oplossen voor mensen in mijn stad. De AI-golf zal niet eeuwig duren in zijn huidige vorm, maar de onderliggende behoefte aan betere tools en automatisering zal blijven bestaan.
Mijn volgende product is al in ontwikkeling — een AI-assistent voor kleine ondernemers in Vancouver die helpt met alles van het schrijven van social media-berichten tot het analyseren van klantfeedback. Het is gebaseerd op gesprekken die ik met tientallen lokale ondernemers heb gehad tijdens ritten, en vroege tests suggereren dat ik iets op het spoor ben.
Het langetermijndoel is niet om mijn rij-inkomsten volledig te vervangen, hoewel dat uiteindelijk misschien wel gebeurt. Het is om voldoende terugkerende inkomsten te creëren zodat ik flexibiliteit en opties heb. Wanneer je niet van salaris tot salaris leeft, kun je grotere risico's nemen en meer op de lange termijn denken.
Het bouwen van AI-producten tussen Uber-ritten door is niet glamoureus, maar het heeft me geleerd dat innovatie geen perfecte omstandigheden of onbeperkte middelen vereist. Het vereist alleen doorzettingsvermogen, de bereidheid om snel te falen, en het vermogen om kansen te vinden in de ruimtes tussen andere verplichtingen. Vancouver is misschien niet Silicon Valley, maar dat is precies waarom het de perfecte plek is om producten te bouwen die echte problemen oplossen voor echte mensen.
Tworzenie produktów AI między kursami: Prawdziwa historia programisty z Vancouver
Dwa lata temu stałem zaparkowany przed biurowcem w centrum Vancouver o 23:00, silnik pracował na jałowym biegu, gdy mój pasażer kończył rozmowę telefoniczną, kiedy dostałem powiadomienie, które zmieniło wszystko. Mój pierwszy poboczny projekt AI właśnie przetworzył znaczącą liczbę wywołań API. Żadne tam pieniądze zmieniające życie, ale w tamtym momencie coś zaskoczyło. Nie byłem już tylko kierowcą wożącym ludzi — budowałem coś, co mogło pracować, podczas gdy ja spałem.
Dzisiaj, między kursami a sesjami kodowania do późna w nocy w kawiarniach w całym mieście, uruchomiłem trzy produkty AI, które łącznie generują znacznie więcej niż kiedykolwiek zarabiałem na etacie. Nie będę udawał, że to była jakaś historia natychmiastowego sukcesu albo że złamałem jakiś sekretny kod. To jest chaotyczna, napędzana kofeiną rzeczywistość tworzenia produktów AI jako programista z Vancouver z większą ambicją niż wolnym czasem.
Historia, którą za chwilę opowiem, nie dotyczy rewolucyjnych przełomów ani kapitału venture. Chodzi o kradzież chwil między zamówieniami Ubera, debugowanie kodu na parkingach McDonald's i powolną realizację, że gorączka złota AI nie jest już tylko dla Silicon Valley. Chodzi też o naukę szybkiego dostarczania i jeszcze szybszego iterowania — bo kiedy twoim biurem jest twój samochód, a czas rozwoju mierzysz w interwałach bez pasażerów, każda minuta się liczy.
Przypadkowy programista AI
Nie zacząłem tworzyć produktów AI, ponieważ miałem jakąś wielką wizję przyszłości technologii. Zacząłem, ponieważ byłem zmęczony wymienianiem czasu na pieniądze, a API OpenAI stało się na tyle dostępne, że ktoś taki jak ja — samouk z przyzwoitą znajomością Pythona i zbyt dużą ilością czasu spędzonego w korkach Vancouver — mógł faktycznie zbudować coś użytecznego.
Mój pierwszy projekt był żenująco prosty: narzędzie do streszczania treści dla lokalnych serwisów informacyjnych. Zauważyłem, że krajobraz medialny Vancouver był rozdrobniony — ważne decyzje rady miasta pogrzebane w długich artykułach, aktualizacje polityki mieszkaniowej rozrzucone po wielu źródłach, zmiany w transporcie ogłaszane w formatach, które uniemożliwiały ich znalezienie. Zbudowałem scraper, który pobierał artykuły z głównych źródeł wiadomości z Vancouver i używał GPT do tworzenia przystępnych streszczeń.
Implementacja techniczna była podstawowa. Skrypt Python działający na instancji DigitalOcean, BeautifulSoup do scrapowania, API OpenAI do streszczania i prosty interfejs internetowy zbudowany z Flask. Całkowity czas rozwoju: może czterdzieści godzin rozłożone na trzy tygodnie, głównie kodowane w martwych okresach między żądaniami przejazdów.
Uruchomiłem go po cichu, opublikowałem na r/vancouver i spodziewałem się, że może kilkanaście osób go wypróbuje. Zamiast tego obudziłem się z setkami użytkowników i pierwszym rachunkiem od OpenAI, który sprawił, że spanikowałem i sprawdziłem stan konta bankowego. Wtedy zdałem sobie sprawę, że muszę potraktować to poważnie — nie tylko jako poboczny projekt, ale jako prawdziwy biznes.
Krzywa uczenia się była stroma. Umiałem kodować, ale nie wiedziałem nic o zarządzaniu produktem, opiniach użytkowników ani o tym, jak wyceniać usługi oparte na AI. Popełniłem każdy możliwy błąd: przeprojektowywanie funkcji, o które nikt nie prosił, niedoszacowanie kosztów API, budowanie dla siebie zamiast dla moich użytkowników. Mój przychód w drugim miesiącu był minimalny, ponieważ spędziłem tyle czasu na dodawaniu funkcji, że zapomniałem naprawić błędy, które odstraszały ludzi.
Rzeczywistość AI w Vancouver
Tworzenie produktów AI w Vancouver wiąże się z wyjątkowymi wyzwaniami. Nie jesteśmy Silicon Valley — nie mamy nieograniczonego finansowania VC ani kultury, która świętuje porażkę jako naukę. Nie jesteśmy też Toronto z jego ugruntowanym ekosystemem technologicznym i wsparciem rządowym. Jesteśmy gdzieś pomiędzy, co oznacza, że musimy być bardziej zaradni i kreatywni w tym, jak budujemy i wprowadzamy produkty.
Koszty życia tutaj wpływają na wszystko. Kiedy czynsz i rata za samochód pochłaniają większość twoich dochodów, nie stać cię na spędzanie miesięcy na budowaniu idealnego produktu. Potrzebujesz czegoś, co szybko generuje przychód, nawet jeśli wystarczy to tylko na pokrycie rachunków za OpenAI i może kawę, która nie pochodzi ze stacji benzynowej.
Dużo pracuję w swoim samochodzie. Nie z wyboru — coworkingi w Vancouver kosztują więcej niż miesięczny rachunek za telefon, a kawiarnie wypraszają cię po kilku godzinach. Ale jest coś wyzwalającego w tym, że twoje biuro jest tam, gdzie zaparkujesz. Debugowałem modele uczenia maszynowego na parkingu Metrotown, udoskonalałem prompty, czekając przed YVR na zlecenia odbioru, i wdrażałem kod do produkcji z Tim Hortons na Granville Street o 2 nad ranem.
Sytuacja z internetem jest zawsze ciekawa. Publiczne WiFi w Vancouver jest co najwyżej nierówne, więc stałem się ekspertem w znajdowaniu najlepszych miejsc — narożna budka w Blenz, skąd widać router, miejsce parkingowe przed filią biblioteki z najsilniejszym sygnałem, McDonald's na Broadway, który ma jakieś lepsze prędkości wysyłania niż moje mieszkanie.
Co Tak Naprawdę Przesunęło Wskazówkę
Przełom nastąpił, kiedy przestałem próbować budować następnego ChatGPT i zacząłem skupiać się na rozwiązywaniu konkretnych problemów dla konkretnych ludzi. Moje udane produkty nie są rewolucyjne — są po prostu na tyle użyteczne, że ludzie są skłonni płacić za nie miesięcznie.
Produkt numer dwa to analizator ofert wynajmu dla rynku mieszkaniowego w Vancouver. Każdy, kto szukał tutaj mieszkania, zna ten ból: mylące zdjęcia, niejasne opisy, ceny, które każą kwestionować wybory życiowe. Zbudowałem narzędzie, które scrapowało Craigslist i Facebook Marketplace, analizowało oferty za pomocą GPT-4 i flagowało potencjalne czerwone flagi lub wskazywało prawdziwe okazje. AI oceniało oferty na podstawie ceny za metr kwadratowy, bliskości transportu publicznego i jakości opisu.
Stos techniczny był podobny do mojego pierwszego produktu, ale nauczyłem się utrzymywać koszty w ryzach. Zamiast przetwarzać każdą ofertę w czasie rzeczywistym, grupowałem żądania w godzinach poza szczytem, gdy stawki OpenAI były niższe. Zamiast przechowywać wszystko w bazie danych, używałem prostych plików JSON i regenerowałem dane codziennie. Zamiast złożonego interfejsu użytkownika, stworzyłem prosty digest e-mail, do którego ludzie mogli subskrybować.
Premiera była tym razem inna. Spędziłem tydzień na publikowaniu w grupach na Facebooku dla Vancouver, społecznościach Reddita, a nawet na serwerach Discord, które znalazłem dla osób szukających mieszkań w mieście. Odpowiedź była natychmiastowa — w ciągu dni miałem znaczącą liczbę subskrybentów. Co ważniejsze, miałem potwierdzenie, że znalazłem prawdziwy problem wart rozwiązania.
Produkt numer trzy powstał z mojej własnej frustracji sceną restauracyjną Vancouver. Nie jakością — miasto ma niesamowite jedzenie — ale problemem odkrywania. Recenzje na Yelp są przeważnie bezużyteczne, recenzje Google niespójne, a blogi kulinarne to albo treści sponsorowane, albo pisane przez ludzi o bardzo różnych gustach niż moje. Zbudowałem silnik rekomendacji restauracji, który analizował recenzje z wielu źródeł, identyfikował prawdziwe opinie od prawdopodobnie fałszywych i dostarczał spersonalizowane rekomendacje na podstawie twoich preferencji.
Komponent AI był tym razem bardziej zaawansowany. Użyłem embeddingów do mapowania sentymentu recenzji i preferencji kulinarnych, zbudowałem algorytm rekomendacji, który uczył się na podstawie opinii użytkowników, a nawet dodałem funkcję sugerującą dania do zamówienia na podstawie ostatnich recenzji wspominających konkretne pozycje z menu. Uruchomiłem go właśnie wtedy, gdy Vancouver otwierało się po ograniczeniach COVID.
Prawdziwy Proces Rozwojowy
Ludzie zawsze pytają o mój proces rozwoju, spodziewając się jakiejś wyrafinowanej metodologii. Rzeczywistość jest znacznie bardziej chaotyczna. Koduję w skradzionych chwilach — piętnaście minut, gdy pasażer wbiega do sklepu, godzina podczas przerwy obiadowej w mojej etatowej pracy, trzydniowe sesje w niedzielne poranki, zanim miasto się obudzi.
Moja konfiguracja jest minimalna z konieczności. Odnowiony MacBook Pro, ładowarka samochodowa, która widziała lepsze dni, i mobilny hotspot na wypadek, gdy WiFi nie jest dostępne. Używam VS Code z kilkoma niezbędnymi rozszerzeniami, utrzymuję proste środowiska i mocno polegam na usługach w chmurze, ponieważ nie mogę zagwarantować, gdzie będę pracować z dnia na dzień.
Kontrola wersji odbywa się przez GitHub, ale moje komunikaty commitów prawdopodobnie naruszają każdy podręcznik najlepszych praktyk, jaki kiedykolwiek napisano. "Naprawiłem to, co było zepsute" i "Wywołania API teraz działają" to częste wpisy w historiach moich projektów. Dokumentacja jest minimalna — nie dlatego, że w nią nie wierzę, ale dlatego, że gdy masz trzydzieści minut na wdrożenie funkcji przed następnym zleceniem przejazdu, priorytetyzujesz inaczej.
Testowanie jest w większości manualne i w większości przeprowadzane na produkcji. Wiem, że to powoduje, że doświadczeni programiści się krzywią, ale kiedy jesteś jednoosobowym zespołem budującym produkty, które przetwarzają rozsądną liczbę żądań dziennie, narzut związany z odpowiednimi frameworkami testowymi często nie jest tego wart. Testuję obsesyjnie ścieżki krytyczne — wszystko, co dotyczy płatności lub danych, na których polegają użytkownicy, przechodzi wielokrotne sprawdzenie — ale poprawki interfejsu i funkcje typu "miło mieć" są wdrażane z minimalną walidacją.
Obsługa klienta odbywa się przez prosty formularz kontaktowy i mój osobisty e-mail. Odkryłem, że bycie responsywnym i ludzkim w interakcjach wsparcia tworzy większą lojalność niż posiadanie dopracowanego centrum pomocy. Kiedy ktoś pisze w sprawie błędu, dostaje odpowiedź ode mnie osobiście, zwykle w ciągu kilku godzin. Kiedy ktoś sugeruje funkcję, mówię mu szczerze, czy mogę ją zbudować i kiedy może się jej spodziewać.
Rzeczywistość Finansowa
Porozmawiajmy o liczbach, bo to jest to, co wszyscy naprawdę chcą wiedzieć. Moje trzy produkty obecnie generują stały miesięczny powtarzalny przychód. To może nie brzmi dużo w porównaniu do historii sukcesu z Silicon Valley, ale w Vancouver to różnica między stresem finansowym a swobodą finansową.
Koszty są do opanowania, ale znaczące. Wywołania API OpenAI to mój największy wydatek we wszystkich produktach. Hosting serwera to kolejny miesięczny koszt. Nazwy domen, certyfikaty SSL, usługi e-mail, narzędzia analityczne — małe subskrypcje się sumują. Moim największym wydatkiem jest właściwie czas — koszt alternatywny godzin spędzonych na kodowaniu zamiast jeżdżenia, co w ruchliwe noce może być znaczny.
Przychód pochodzi wyłącznie z subskrypcji. Próbowałem jednorazowych zakupów i modeli freemium, ale miesięczne subskrypcje zapewniają przewidywalny dochód, który czyni to zrównoważonym. Moje ceny są celowo skromne — wolę mieć więcej klientów płacących mniej każdego niż mniej klientów płacących więcej. Vancouver to nie San Francisco; ludzie tutaj są świadomi cen i chętnie zmienią usługę, jeśli coś stanie się zbyt drogie.
Sezonowe wzorce są interesujące. Mój analizator wynajmu radzi sobie najlepiej wiosną i jesienią, kiedy ludzie szukają mieszkań. Narzędzie restauracyjne osiąga szczyty latem i w sezonie świątecznym. Streszczacz wiadomości jest stabilny przez cały rok, ale ma skoki w okresach wyborczych lub podczas ważnych decyzji rady miasta.
Większość zysków reinwestuję z powrotem w produkty — lepsze serwery w okresach szczytowego użycia, nowe funkcje API, gdy OpenAI je wypuszcza, okazjonalne płatne reklamy na lokalnych grupach Facebooka. Utrzymuję minimalną inflację stylu życia, ponieważ ten dochód nie jest gwarantowany, i zbyt dobrze pamiętam, jak to jest wybierać między pieniędzmi na paliwo a pieniędzmi na jedzenie.
Kolekcja Porażek
Na każdy produkt, który zadziałał, zbudowałem trzy, które nie zadziałały. Była aplikacja do odkrywania wydarzeń oparta na AI, której nikt nie używał, ponieważ Facebook już rozwiązał ten problem. Automatyczny harmonogram mediów społecznościowych dla lokalnych firm, nad którym spędziłem dwa miesiące, zanim zdałem sobie sprawę, że moich docelowych klientów nie stać na miesięczne subskrypcje. Osobisty asystent finansowy, który był zbyt skomplikowany dla ludzi chcących prostego budżetowania i zbyt prosty dla ludzi chcących złożonej analizy.
Najtrudniejszą porażką było narzędzie dla freelancerów z Vancouver, które analizowało oferty pracy i sugerowało optymalne strategie cenowe. Byłem przekonany, że to będzie hit — każdy freelancer, którego znałem, zmagał się z wyceną, a AI wydawało się idealne do analizy stawek rynkowych i konkurencji. Spędziłem cztery miesiące na jego budowie, stworzyłem szczegółowe persony, a nawet sprzedałem subskrypcje z wyprzedzeniem testerom beta.
Totalnie nie wypaliło. Freelancerzy chcieli ludzkiej porady dotyczącej cen, a nie algorytmicznych sugestii. Chcieli społeczności i networkingu, a nie analizy danych. Zbudowałem rozwiązanie dla problemu, który w rzeczywistości nie istniał w taki sposób, jak myślałem. Ta porażka nauczyła mnie więcej o dopasowaniu produktu do rynku niż jakakolwiek historia sukcesu mogłaby kiedykolwiek.
Co Dalej
Nie próbuję zbudować następnego jednorożca ani zostać przejętym przez Google. Próbuję zbudować zrównoważone, dochodowe produkty, które rozwiązują prawdziwe problemy dla ludzi w moim mieście. Fala AI nie będzie trwać wiecznie w swojej obecnej formie, ale podstawowa potrzeba lepszych narzędzi i automatyzacji będzie trwać.
Mój następny produkt jest już w fazie rozwoju — asystent AI dla właścicieli małych firm w Vancouver, który pomaga we wszystkim, od pisania postów w mediach społecznościowych po analizę opinii klientów. Opiera się na rozmowach, które przeprowadziłem z dziesiątkami lokalnych właścicieli firm podczas kursów, a wczesne testy sugerują, że jestem na dobrym tropie.
Długoterminowym celem nie jest całkowite zastąpienie mojego dochodu z jazdy, choć może to się ostatecznie wydarzyć. Chodzi o stworzenie wystarczającego powtarzalnego dochodu, abym miał elastyczność i opcje. Kiedy nie żyjesz od wypłaty do wypłaty, możesz podejmować większe ryzyko i myśleć długoterminowo.
Tworzenie produktów AI między kursami Ubera nie jest efektowne, ale nauczyło mnie, że innowacja nie wymaga idealnych warunków ani nieograniczonych zasobów. Wymaga tylko wytrwałości, gotowości do szybkiego ponoszenia porażek i umiejętności znajdowania okazji w przestrzeniach między innymi obowiązkami. Vancouver może nie być Silicon Valley, ale właśnie dlatego jest idealnym miejscem do budowania produktów, które rozwiązują prawdziwe problemy dla prawdziwych ludzi.
Construindo Produtos de IA Entre Corridas: A História Real de um Desenvolvedor de Vancouver
Há dois anos, eu estava estacionado do lado de fora de um prédio comercial no centro de Vancouver às 23h, com o motor ligado enquanto meu passageiro terminava uma ligação, quando recebi a notificação que mudou tudo. Meu primeiro projeto paralelo de IA tinha acabado de processar um número significativo de chamadas de API. Não foi exatamente um dinheiro que mudasse minha vida, mas algo clicou naquele momento. Eu não estava mais apenas dirigindo pessoas — eu estava construindo algo que poderia funcionar enquanto eu dormia.
Hoje, entre corridas e sessões de codificação noturnas em cafeterias pela cidade, lancei três produtos de IA que, juntos, geram significativamente mais do que meu antigo emprego fixo jamais rendeu. Não vou fingir que foi uma história de sucesso da noite para o dia ou que descobri algum código secreto. Esta é a realidade bagunçada e cheia de cafeína de construir produtos de IA como um desenvolvedor de Vancouver com mais ambição do que tempo livre.
A história que estou prestes a compartilhar não é sobre avanços revolucionários ou capital de risco. É sobre roubar momentos entre corridas de Uber, depurar código em estacionamentos do McDonald's e a lenta percepção de que a corrida do ouro da IA não é mais apenas para o Vale do Silício. É também sobre aprender a lançar rápido e iterar mais rápido — porque quando seu escritório é seu carro e seu tempo de desenvolvimento é medido em intervalos sem passageiros, cada minuto conta.
O Desenvolvedor de IA Acidental
Não comecei a construir produtos de IA porque tinha alguma visão grandiosa sobre o futuro da tecnologia. Comecei porque estava cansado de trocar tempo por dinheiro, e a API da OpenAI tinha se tornado acessível o suficiente para que alguém como eu — um desenvolvedor autodidata com um conhecimento decente de Python e tempo demais perdido no trânsito de Vancouver — pudesse realmente construir algo útil.
Meu primeiro projeto foi vergonhosamente simples: uma ferramenta de sumarização de conteúdo para sites de notícias locais. Notei que o cenário da mídia em Vancouver era fragmentado — decisões importantes do conselho municipal enterradas em artigos extensos, atualizações de políticas habitacionais espalhadas por várias fontes, mudanças no transporte público anunciadas em formatos que as tornavam impossíveis de encontrar. Construí um raspador que extraía artigos das principais fontes de notícias de Vancouver e usava GPT para criar resumos digeríveis.
A implementação técnica era básica. Um script em Python rodando em um droplet da DigitalOcean, BeautifulSoup para raspagem, a API da OpenAI para sumarização e uma interface web simples construída com Flask. Tempo total de desenvolvimento: talvez quarenta horas distribuídas ao longo de três semanas, a maior parte codificada durante os períodos mortos entre solicitações de corrida.
Lancei-o discretamente, postei no r/vancouver, e esperava que talvez uma dúzia de pessoas o experimentasse. Em vez disso, acordei com centenas de usuários e minha primeira fatura da OpenAI que me fez verificar meu saldo bancário em pânico. Foi quando percebi que precisava levar isso a sério — não apenas como um projeto paralelo, mas como um negócio real.
A curva de aprendizado foi íngreme. Eu sabia programar, mas não sabia nada sobre gerenciamento de produtos, feedback de usuários ou como precificar serviços baseados em IA. Cometi todos os erros possíveis: superprojetar funcionalidades que ninguém pediu, subestimar custos de API, construir para mim mesmo em vez dos meus usuários. A receita do meu segundo mês foi mínima porque passei tanto tempo adicionando funcionalidades que esqueci de corrigir os bugs que estavam afastando as pessoas.
A Realidade da IA em Vancouver
Construir produtos de IA em Vancouver vem com desafios únicos. Não somos o Vale do Silício — não temos financiamento de capital de risco ilimitado ou uma cultura que celebra o fracasso como aprendizado. Também não somos Toronto, com seu ecossistema tecnológico estabelecido e apoio governamental. Estamos em algum lugar no meio, o que significa que precisamos ser mais engenhosos e criativos sobre como construímos e lançamos produtos.
O custo de vida aqui afeta tudo. Quando seu aluguel e parcela do carro consomem a maior parte de sua renda, você não pode se dar ao luxo de passar meses construindo o produto perfeito. Você precisa de algo gerando receita rapidamente, mesmo que seja apenas o suficiente para cobrir suas contas da OpenAI e talvez um café que não venha de um posto de gasolina.
Eu trabalho muito dentro do meu carro. Não por escolha — os espaços de coworking em Vancouver custam mais do que minha conta mensal de telefone, e as cafeterias te expulsam após algumas horas. Mas há algo libertador em ter seu escritório onde quer que você estacione. Já depurei modelos de machine learning no estacionamento do Metrotown, refinei prompts enquanto esperava do lado de fora do YVR por pedidos de coleta, e enviei código para produção de um Tim Hortons na Granville Street às 2 da manhã.
A situação da internet é sempre interessante. O WiFi público de Vancouver é irregular na melhor das hipóteses, então me tornei especialista em encontrar os pontos ideais — o camarote no canto do Blenz onde você vê o roteador, a vaga de estacionamento do lado de fora da biblioteca com o sinal mais forte, o McDonald's na Broadway que de alguma forma tem velocidades de upload melhores que meu apartamento.
O Que Realmente Fez a Diferença
A virada de chave veio quando parei de tentar construir o próximo ChatGPT e comecei a focar em resolver problemas específicos para pessoas específicas. Meus produtos de sucesso não são revolucionários — eles são apenas úteis o suficiente para que as pessoas estejam dispostas a pagar mensalmente por eles.
O produto número dois foi um analisador de listagens de aluguel para o mercado imobiliário de Vancouver. Qualquer um que já procurou apartamentos aqui conhece a dor: fotos enganosas, descrições vagas, preços que fazem você questionar suas escolhas de vida. Construí uma ferramenta que raspava o Craigslist e o Facebook Marketplace, analisava as listagens com GPT-4 e sinalizava possíveis bandeiras vermelhas ou destacava negócios genuínos. A IA classificava as listagens com base no preço por metro quadrado, proximidade ao transporte público e qualidade da descrição.
A stack técnica era semelhante à do meu primeiro produto, mas aprendi a manter os custos gerenciáveis. Em vez de processar cada listagem em tempo real, eu agrupava as requisições durante horários de menor movimento, quando as taxas da OpenAI eram mais baixas. Em vez de armazenar tudo em um banco de dados, usava arquivos JSON simples e regenerava os dados diariamente. Em vez de uma interface de usuário complexa, criei um resumo simples por e-mail ao qual as pessoas podiam se inscrever.
O lançamento foi diferente desta vez. Passei uma semana postando em grupos do Facebook de Vancouver, comunidades do Reddit e até mesmo alguns servidores do Discord que encontrei para pessoas caçando apartamentos na cidade. A resposta foi imediata — em dias, eu tinha um número significativo de assinantes. Mais importante ainda, tive a validação de que havia encontrado um problema real que valia a pena resolver.
O produto número três surgiu da minha própria frustração com o cenário de restaurantes de Vancouver. Não a qualidade — a cidade tem comida incrível — mas o problema de descoberta. As avaliações do Yelp são quase inúteis, as avaliações do Google são inconsistentes, e os blogs de comida são ou conteúdo patrocinado ou escritos por pessoas com gostos muito diferentes dos meus. Construí um motor de recomendação de restaurantes que analisava avaliações de múltiplas fontes, identificava opiniões genuínas de prováveis falsas e fornecia recomendações personalizadas com base nas suas preferências.
O componente de IA foi mais sofisticado desta vez. Usei embeddings para mapear o sentimento das avaliações e preferências culinárias, construí um algoritmo de recomendação que aprendia com o feedback do usuário e até adicionei um recurso que sugeria pratos para pedir com base em avaliações recentes mencionando itens específicos do cardápio. Lancei-o justamente quando Vancouver estava reabrindo após as restrições da COVID.
O Processo de Desenvolvimento Real
As pessoas sempre perguntam sobre meu processo de desenvolvimento, esperando alguma metodologia sofisticada. A realidade é muito mais caótica. Eu programo em momentos roubados — quinze minutos enquanto um passageiro entra em uma loja, uma hora durante a pausa do almoço no meu emprego fixo, sessões de três horas nas manhãs de domingo antes da cidade acordar.
Minha configuração é mínima por necessidade. Um MacBook Pro reformado, um carregador de carro que já viu dias melhores e um hotspot móvel para quando o WiFi não está disponível. Uso VS Code com algumas extensões essenciais, mantenho meus ambientes simples e confio fortemente em serviços em nuvem porque não posso garantir onde estarei trabalhando de um dia para o outro.
O controle de versão acontece via GitHub, mas minhas mensagens de commit provavelmente violam todos os guias de melhores práticas já escritos. "Corrigi a coisa que estava quebrada" e "Chamadas de API funcionam agora" são entradas comuns nos históricos dos meus projetos. A documentação é mínima — não porque não acredito nela, mas porque quando você tem trinta minutos para implementar uma funcionalidade antes da sua próxima solicitação de corrida, você prioriza de forma diferente.
O teste é principalmente manual e feito principalmente em produção. Sei que isso faz desenvolvedores experientes estremecerem, mas quando você é um time de uma pessoa construindo produtos que processam um número razoável de requisições por dia, a sobrecarga de frameworks de teste adequados muitas vezes não vale a pena. Testo os caminhos críticos obsessivamente — qualquer coisa envolvendo pagamentos ou dados dos quais os usuários dependem recebe múltiplas verificações — mas os ajustes de interface e funcionalidades interessantes são enviados com validação mínima.
O suporte ao cliente acontece através de um formulário de contato simples e meu e-mail pessoal. Descobri que ser responsivo e humano nas interações de suporte cria mais lealdade do que ter uma central de ajuda sofisticada. Quando alguém envia um e-mail sobre um bug, recebe uma resposta minha pessoalmente, geralmente em algumas horas. Quando alguém sugere uma funcionalidade, digo honestamente se posso construí-la e quando podem esperá-la.
A Realidade Financeira
Vamos falar de números, porque é o que todo mundo realmente quer saber. Meus três produtos atualmente geram uma receita recorrente mensal estável. Pode não parecer muito comparado às histórias de sucesso do Vale do Silício, mas em Vancouver, é a diferença entre estresse financeiro e uma margem de manobra financeira.
Os custos são gerenciáveis, mas significativos. As chamadas de API da OpenAI são minha maior despesa em todos os produtos. A hospedagem do servidor é outro custo mensal. Nomes de domínio, certificados SSL, serviço de e-mail, ferramentas de análise — as pequenas assinaturas se acumulam. Minha maior despesa é na verdade o tempo — o custo de oportunidade das horas gastas programando em vez de dirigindo, que em noites movimentadas pode ser substancial.
A receita vem inteiramente de assinaturas. Tentei compras únicas e modelos freemium, mas as assinaturas mensais fornecem a renda previsível que torna isso sustentável. Meus preços são deliberadamente modestos — prefiro ter mais clientes pagando menos cada um do que menos clientes pagando mais. Vancouver não é São Francisco; as pessoas aqui são conscientes com preços e dispostas a mudar se algo ficar muito caro.
Os padrões sazonais são interessantes. Meu analisador de aluguel vai melhor na primavera e no outono, quando as pessoas estão caçando apartamentos. A ferramenta de restaurantes atinge o pico durante o verão e as temporadas de festas. O sumarizador de notícias é estável o ano todo, mas dispara durante períodos eleitorais ou grandes decisões do conselho municipal.
Reinvisto a maior parte dos lucros de volta nos produtos — servidores melhores durante picos de uso, novas funcionalidades de API quando a OpenAI as lança, publicidade paga ocasional em grupos locais do Facebook. Mantenho minha inflação de estilo de vida ao mínimo porque essa renda não é garantida, e me lembro claramente de como era escolher entre dinheiro para gasolina e dinheiro para compras.
A Coleção de Fracassos
Para cada produto que funcionou, construí três que não funcionaram. Houve o aplicativo de descoberta de eventos com IA que ninguém usou porque o Facebook já resolveu esse problema. O agendador automático de mídias sociais para empresas locais no qual passei dois meses construindo antes de perceber que meus clientes-alvo não podiam pagar assinaturas mensais. O assistente de finanças pessoais que era complexo demais para pessoas que queriam orçamento simples e simples demais para pessoas que queriam análise complexa.
O fracasso mais difícil foi uma ferramenta para freelancers de Vancouver que analisava anúncios de emprego e sugeria estratégias de precificação ideais. Estava convencido de que isso seria enorme — todo freelancer que eu conhecia lutava com precificação, e a IA parecia perfeita para analisar taxas de mercado e concorrência. Passei quatro meses construindo, criei personas detalhadas, até pré-vendi assinaturas para testadores beta.
Fracassou completamente. Freelancers queriam conselhos humanos sobre preços, não sugestões algorítmicas. Queriam comunidade e networking, não análise de dados. Eu tinha construído uma solução para um problema que na verdade não existia da forma que eu pensava. Aquele fracasso me ensinou mais sobre adequação produto-mercado do que qualquer história de sucesso jamais poderia.
O Próximo Passo
Não estou tentando construir o próximo unicórnio ou ser adquirido pelo Google. Estou tentando construir produtos sustentáveis e lucrativos que resolvam problemas reais para pessoas na minha cidade. A onda da IA não durará para sempre em sua forma atual, mas a necessidade subjacente de melhores ferramentas e automação continuará.
Meu próximo produto já está em desenvolvimento — um assistente de IA para pequenos empresários de Vancouver que ajuda com tudo, desde escrever postagens em mídias sociais até analisar feedback de clientes. É baseado em conversas que tive com dezenas de empresários locais durante corridas, e os testes iniciais sugerem que estou no caminho certo.
O objetivo de longo prazo não é substituir completamente minha renda como motorista, embora isso possa acontecer eventualmente. É criar receita recorrente suficiente para ter flexibilidade e opções. Quando você não está vivendo de salário em salário, pode correr riscos maiores e pensar a longo prazo.
Construir produtos de IA entre corridas de Uber não é glamoroso, mas me ensinou que a inovação não exige condições perfeitas ou recursos ilimitados. Exige apenas persistência, disposição para falhar rápido e a capacidade de encontrar oportunidades nos espaços entre outras obrigações. Vancouver pode não ser o Vale do Silício, mas é exatamente por isso que é o lugar perfeito para construir produtos que resolvem problemas reais para pessoas reais.
Создание AI-продуктов между поездками: реальная история разработчика из Ванкувера
Два года назад, в 11 вечера, я стоял на парковке возле офисного здания в центре Ванкувера с работающим двигателем, пока мой пассажир заканчивал телефонный разговор, когда пришло уведомление, изменившее всё. Мой первый побочный AI-проект только что обработал приличное количество API-запросов. Не то чтобы это были деньги, меняющие жизнь, но в тот момент что-то щёлкнуло. Я больше не просто развозил людей — я создавал то, что могло работать, пока я сплю.
Сегодня, между поездками и ночными сеансами программирования в кофейнях по всему городу, я запустил три AI-продукта, которые в совокупности приносят значительно больше, чем когда-либо приносила моя основная работа. Я не буду притворяться, что это была история о мгновенном успехе или что я взломал какой-то секретный код. Это грязная, подкреплённая кофеином реальность создания AI-продуктов разработчиком из Ванкувера, у которого больше амбиций, чем свободного времени.
История, которой я собираюсь поделиться, не о революционных прорывах или венчурном капитале. Она о том, как красть моменты между заказами Uber, отлаживать код на парковках McDonald's и медленно осознавать, что золотая лихорадка AI больше не только для Кремниевой долины. Она также о том, как научиться быстро выпускать продукты и ещё быстрее их итерировать — потому что, когда твой офис — это твоя машина, а время разработки измеряется интервалами без пассажиров, каждая минута на счету.
Случайный AI-разработчик
Я начал создавать AI-продукты не потому, что у меня было грандиозное видение будущего технологий. Я начал, потому что устал обменивать время на деньги, а API от OpenAI стал достаточно доступным, чтобы кто-то вроде меня — самоучка-разработчик с приличным знанием Python и слишком большим количеством времени, проведённым в пробках Ванкувера, — мог создать что-то полезное.
Мой первый проект был до смешного прост: инструмент для суммаризации контента для местных новостных сайтов. Я заметил, что медиа-ландшафт Ванкувера фрагментирован — важные решения городского совета погребены в длинных статьях, обновления жилищной политики разбросаны по множеству источников, изменения в транзите анонсируются в форматах, из-за которых их невозможно найти. Я написал парсер, который вытягивал статьи из основных источников новостей Ванкувера и использовал GPT для создания удобоваримых кратких обзоров.
Техническая реализация была элементарной. Python-скрипт, запущенный на DigitalOcean droplet, BeautifulSoup для парсинга, API OpenAI для суммаризации и простой веб-интерфейс на Flask. Общее время разработки: около сорока часов, размазанных на три недели, в основном написанных в мёртвые периоды между запросами на поездку.
Я запустил его тихо, опубликовал на r/vancouver и ожидал, что его попробует, может быть, дюжина человек. Вместо этого я проснулся от сотен пользователей и первого счёта от OpenAI, из-за которого я в панике проверил свой банковский счёт. Вот тогда я понял, что нужно относиться к этому серьёзно — не просто как к побочному проекту, а как к настоящему бизнесу.
Кривая обучения была крутой. Я умел программировать, но ничего не знал об управлении продуктом, обратной связи с пользователями или о том, как устанавливать цены на AI-сервисы. Я совершил все возможные ошибки: переусложнил функции, о которых никто не просил, недооценил затраты на API, создавал продукт для себя, а не для своих пользователей. Доход за второй месяц был минимальным, потому что я потратил так много времени на добавление функций, что забыл исправить ошибки, которые отпугивали людей.
Реальность AI в Ванкувере
Создание AI-продуктов в Ванкувере сопряжено с уникальными трудностями. Мы не Кремниевая долина — у нас нет неограниченного венчурного финансирования или культуры, которая прославляет неудачи как обучение. Мы также не Торонто с его устоявшейся технологической экосистемой и государственной поддержкой. Мы где-то посередине, а это значит, что мы должны быть более изобретательными и креативными в том, как мы создаём и запускаем продукты.
Стоимость жизни здесь влияет на всё. Когда аренда и выплаты за машину съедают большую часть дохода, вы не можете позволить себе тратить месяцы на создание идеального продукта. Вам нужно что-то, что быстро начнёт приносить доход, даже если его хватит только на оплату счетов OpenAI и, возможно, на чашку кофе не с заправки.
Я много работаю в своей машине. Не по своему выбору — коворкинги в Ванкувере стоят дороже, чем мой ежемесячный счёт за телефон, а из кофеен выгоняют через несколько часов. Но есть что-то освобождающее в том, что твой офис находится там, где ты припарковался. Я отлаживал модели машинного обучения на парковке Metrotown, уточнял промпты, ожидая заказы у YVR, и пушил код в продакшн из Tim Hortons на Granville Street в 2 часа ночи.
Ситуация с интернетом всегда интересна. Общественный WiFi в Ванкувере, мягко говоря, нестабилен, поэтому я стал экспертом по поиску удачных мест — угловой кабинки в Blenz, откуда видно роутер, парковочного места у библиотеки с самым сильным сигналом, McDonald's на Broadway, где скорость загрузки почему-то выше, чем в моей квартире.
Что действительно сдвинуло дело с мёртвой точки
Прорыв произошёл, когда я перестал пытаться построить следующий ChatGPT и сосредоточился на решении конкретных проблем для конкретных людей. Мои успешные продукты не революционны — они просто достаточно полезны, чтобы люди были готовы платить за них ежемесячно.
Вторым продуктом стал анализатор объявлений об аренде для рынка жилья Ванкувера. Любой, кто искал здесь квартиру, знает эту боль: вводящие в заблуждение фотографии, расплывчатые описания, цены, заставляющие усомниться в своём жизненном выборе. Я создал инструмент, который парсил Craigslist и Facebook Marketplace, анализировал объявления с помощью GPT-4 и отмечал потенциальные «красные флаги» или выделял действительно выгодные предложения. AI оценивал объявления по цене за квадратный фут, близости к транспорту и качеству описания.
Технический стек был похож на первый продукт, но я научился держать расходы под контролем. Вместо обработки каждого объявления в реальном времени, я пакетировал запросы в непиковые часы, когда тарифы OpenAI были ниже. Вместо хранения всего в базе данных я использовал простые JSON-файлы и ежедневно генерировал данные заново. Вместо сложного пользовательского интерфейса я создал простую email-рассылку, на которую люди могли подписаться.
На этот раз запуск был другим. Я потратил неделю на публикации в ванкуверских группах Facebook, сообществах Reddit и даже на нескольких Discord-серверах, которые я нашёл для людей, ищущих квартиру в городе. Реакция была немедленной — в течение нескольких дней у меня было приличное количество подписчиков. Что более важно, у меня было подтверждение, что я нашёл реальную проблему, которую стоит решать.
Третий продукт родился из моего собственного разочарования ресторанной сценой Ванкувера. Не качеством — в городе невероятная еда, — а проблемой поиска. Отзывы на Yelp в основном бесполезны, отзывы на Google противоречивы, а фуд-блоги — это либо спонсорский контент, либо написаны людьми со вкусами, сильно отличающимися от моих. Я создал движок рекомендаций ресторанов, который анализировал отзывы из нескольких источников, выявлял искренние мнения среди вероятно фальшивых и давал персонализированные рекомендации на основе ваших предпочтений.
AI-компонент на этот раз был более сложным. Я использовал эмбеддинги для сопоставления тональности отзывов и кулинарных предпочтений, построил алгоритм рекомендаций, обучающийся на основе обратной связи пользователей, и даже добавил функцию, предлагающую блюда для заказа на основе недавних отзывов, упоминающих конкретные позиции меню. Я запустил его как раз когда Ванкувер открывался после ковидных ограничений.
Реальный процесс разработки
Люди всегда спрашивают о моём процессе разработки, ожидая какой-то сложной методологии. Реальность гораздо более хаотична. Я пишу код в украденные моменты — пятнадцать минут, пока пассажир забегает в магазин, час во время обеденного перерыва на основной работе, трёхчасовые сессии воскресным утром, пока город не проснулся.
Мой набор инструментов минимален по необходимости. Отремонтированный MacBook Pro, автомобильное зарядное устройство, видавшее лучшие дни, и мобильная точка доступа на случай отсутствия WiFi. Я использую VS Code с несколькими важными расширениями, держу окружения простыми и сильно полагаюсь на облачные сервисы, потому что не могу гарантировать, где я буду работать день ото дня.
Контроль версий осуществляется через GitHub, но мои сообщения к коммитам, вероятно, нарушают все когда-либо написанные руководства по лучшим практикам. «Починил ту штуку, которая была сломана» и «API-вызовы теперь работают» — обычные записи в истории моих проектов. Документация минимальна — не потому что я не верю в неё, а потому что, когда у тебя есть тридцать минут на реализацию функции до следующего запроса на поездку, ты расставляешь приоритеты иначе.
Тестирование в основном ручное и в основном происходит в продакшне. Я знаю, что опытные разработчики от этого морщатся, но когда ты команда из одного человека, создающая продукты, обрабатывающие приличное количество запросов в день, накладные расходы на правильные фреймворки для тестирования часто того не стоят. Я одержимо тестирую критические пути — всё, что связано с платежами или данными, от которых зависят пользователи, проходит несколько проверок, — но твики интерфейса и дополнительные функции отправляются с минимальной валидацией.
Поддержка клиентов осуществляется через простую контактную форму и мою личную почту. Я обнаружил, что быстрое реагирование и человечность в общении создают больше лояльности, чем полированный центр помощи. Когда кто-то пишет об ошибке, они получают ответ лично от меня, обычно в течение нескольких часов. Когда кто-то предлагает функцию, я честно говорю, смогу ли я её реализовать и когда её можно ожидать.
Реальность денег
Давайте поговорим о цифрах, потому что это то, что всем на самом деле интересно. Мои три продукта в настоящее время приносят стабильный ежемесячный повторяющийся доход. Это может показаться не таким уж большим по сравнению с историями успеха из Кремниевой долины, но в Ванкувере это разница между финансовым стрессом и финансовой передышкой.
Затраты управляемы, но значительны. API-вызовы OpenAI — мои самые большие расходы по всем продуктам. Хостинг серверов — ещё одна ежемесячная стоимость. Доменные имена, SSL-сертификаты, почтовый сервис, инструменты аналитики — мелкие подписки накапливаются. Мои самые большие расходы — это на самом деле время — альтернативная стоимость часов, потраченных на программирование вместо вождения, которая в занятые ночи может быть существенной.
Доход поступает исключительно от подписок. Я пробовал одноразовые покупки и freemium-модели, но ежемесячные подписки обеспечивают предсказуемый доход, делающий это устойчивым. Мои цены намеренно скромные — я лучше буду иметь больше клиентов, платящих меньше, чем меньше клиентов, платящих больше. Ванкувер — это не Сан-Франциско; люди здесь чувствительны к ценам и готовы переключиться, если что-то становится слишком дорогим.
Сезонные закономерности интересны. Мой анализатор аренды лучше всего работает весной и осенью, когда люди ищут квартиры. Инструмент для ресторанов достигает пика летом и в праздничные сезоны. Суммаризатор новостей стабилен круглый год, но его активность всплескивает во время выборов или крупных решений городского совета.
Большую часть прибыли я реинвестирую обратно в продукты — лучшие серверы в периоды пиковой нагрузки, новые функции API, когда OpenAI их выпускает, иногда платная реклама в местных группах Facebook. Я минимально увеличиваю свой образ жизни, потому что этот доход не гарантирован, и я слишком хорошо помню, каково это — выбирать между деньгами на бензин и деньгами на еду.
Коллекция неудач
На каждый сработавший продукт я построил три, которые не взлетели. Было приложение для поиска мероприятий на основе AI, которым никто не пользовался, потому что Facebook уже решил эту проблему. Автоматический планировщик соцсетей для местного бизнеса, на который я потратил два месяца, прежде чем понял, что мои целевые клиенты не могут позволить себе ежемесячную подписку. Персональный финансовый помощник, который был слишком сложным для людей, желавших простого бюджетирования, и слишком простым для людей, желавших сложного анализа.
Самой тяжёлой неудачей был инструмент для фрилансеров Ванкувера, который анализировал вакансии и предлагал оптимальные стратегии ценообразования. Я был убеждён, что это будет хитом — каждый фрилансер, которого я знал, мучился с ценообразованием, и AI казался идеальным для анализа рыночных ставок и конкуренции. Я потратил четыре месяца на его создание, разработал подробные персоны, даже предпродал подписки бета-тестерам.
Он с треском провалился. Фрилансеры хотели человеческих советов по ценообразованию, а не алгоритмических предложений. Они хотели сообщества и нетворкинга, а не анализа данных. Я построил решение проблемы, которая на самом деле не существовала в том виде, в котором я её себе представлял. Эта неудача научила меня соответствию продукта рынку больше, чем любая история успеха.
Что дальше
Я не пытаюсь построить очередной единорог или быть поглощённым Google. Я пытаюсь создать устойчивые, прибыльные продукты, которые решают реальные проблемы для людей в моём городе. Волна AI не продлится вечно в её нынешней форме, но основная потребность в лучших инструментах и автоматизации сохранится.
Мой следующий продукт уже в разработке — AI-ассистент для владельцев малого бизнеса в Ванкувере, который помогает со всем: от написания постов в соцсетях до анализа отзывов клиентов. Он основан на разговорах, которые я провёл с десятками местных предпринимателей во время поездок, и раннее тестирование показывает, что я на правильном пути.
Долгосрочная цель — не полностью заменить мой доход от вождения, хотя это может произойти в итоге. Это создать достаточный повторяющийся доход, чтобы у меня была гибкость и выбор. Когда ты не живёшь от зарплаты до зарплаты, ты можешь идти на больший риск и думать о долгосрочной перспективе.
Создание AI-продуктов между заказами Uber — это не гламурно, но это научило меня, что инновации не требуют идеальных условий или неограниченных ресурсов. Они требуют только настойчивости, готовности быстро терпеть неудачи и способности находить возможности в промежутках между другими обязательствами. Ванкувер, возможно, и не Кремниевая долина, но именно поэтому он идеальное место для создания продуктов, которые решают реальные проблемы для реальных людей.
在接单间隙构建AI产品:一位温哥华开发者的真实故事
两年前的一个深夜,我把车停在温哥华市中心一栋办公楼外,引擎空转着,等乘客打完电话。就在这时,我收到了一条改变一切的推送通知——我的第一个AI副业项目,刚刚处理了相当数量的API调用。这笔钱算不上改变人生的巨款,但那一刻,有什么东西在我心里悄然觉醒。我不再仅仅是在载客——我在打造一件能在我睡觉时持续运转的东西。
如今,在接单间隙和遍布全城的咖啡馆里熬夜写代码的日子里,我已经推出了三款AI产品。这些产品的总收入,远远超过我曾经的全职工作。我不打算假装这是什么一夜成名的故事,或者我破解了什么秘密代码。这就是一个野心比闲暇时间更多的温哥华开发者,在咖啡因支撑下,构建AI产品的混乱现实。
接下来要分享的故事,无关革命性突破或风险投资。它关乎在Uber订单之间偷来的时光,在麦当劳停车场调试代码的夜晚,以及一个缓慢的领悟:AI淘金热早已不再专属于硅谷。这个故事同样关于学会快速发布、更快迭代——因为当你的办公室就是你的车,而开发时间是以无乘客的间隙来计算的,每一分钟都弥足珍贵。
偶然成为的AI开发者
我开始构建AI产品,并非因为对未来科技有什么宏大的愿景。我只是厌倦了用时间换钱,而OpenAI的API那时刚好变得足够易用,让像我这样的人——一个自学成才、熟悉Python、在温哥华交通中浪费了太多时间的开发者——能够真正构建出有用的东西。
我的第一个项目简单得令人尴尬:一个针对本地新闻网站的内容摘要工具。我注意到温哥华的媒体格局非常零散——重要的市议会决策深埋在冗长的文章中,住房政策更新分散在多个渠道,交通变动以一种令人难以查找的格式发布。我写了一个爬虫,从温哥华主要新闻源抓取文章,然后利用GPT生成易于消化的摘要。
技术实现很基础。一个运行在DigitalOcean云服务器上的Python脚本,用BeautifulSoup抓取数据,用OpenAI的API做摘要,再配合一个用Flask构建的简单网页界面。总开发时间:大约四十个小时,分散在三周内,大部分代码是在等单的间隙里写的。
我悄无声息地发布了它,在r/vancouver上发了个帖子,预计只有十几个人会试试。结果,我醒来时发现用户数以百计,而第一份OpenAI账单让我惊慌失措地检查银行账户。那一刻我意识到,我必须认真对待这件事——不再只是一个副业项目,而是一门真正的生意。
学习曲线陡峭。我懂编程,但对产品管理、用户反馈、或者如何给AI驱动的服务定价一无所知。我犯了所有可能犯的错误:过度开发没人要求的功能,低估API成本,只为自己而不是用户做产品。第二个月的收入微乎其微,因为我花了太多时间添加新功能,却忘了修复那些正在赶走用户的Bug。
温哥华的AI现实
在温哥华构建AI产品,面临着独特的挑战。我们不是硅谷——我们没有无限的风险投资,也没有那种将失败视为学习机会的文化。我们也不是多伦多,没有其成熟的科技生态系统和政府支持。我们夹在中间,这意味着我们必须更接地气、更有创造力,去构建和推出产品。
这里的生活成本影响一切。当你的房租和车贷吃掉大部分收入时,你不可能花好几个月去打造一个完美的产品。你需要能快速产生收入的東西,哪怕只够支付OpenAI的账单,或者一杯不是来自加油站的不错的咖啡。
我经常在车里工作。不是出于选择——温哥华的共享办公空间比我的月话费还贵,而咖啡馆坐几个小时就会赶人。但当你发现你的办公室就在你停车的地方时,有一种解放感。我曾在铁道镇的停车场调试过机器学习模型,在YVR机场外等接单时优化过提示词,凌晨两点在Granville街的Tim Hortons里将代码推送到生产环境。
网络状况总是很有趣。温哥华的公共WiFi信号充其量只能算不稳定,所以我成了寻找信号最佳点的专家——能看到路由器的Blenz咖啡店角落卡座,信号最强的图书馆分馆门口的停车位,Broadway上那家不知何故上传速度比我家还快的麦当劳。
真正起作用的因素
转机发生在我停止试图打造下一个ChatGPT,转而专注于为特定人群解决特定问题的时候。我成功的产品并非革命性的——它们只是足够有用,让人们愿意按月付费。
第二个产品是一个针对温哥华租房市场的房源分析器。任何在这里找过公寓的人都知道那种痛苦:误导性的照片、模糊的描述、让人怀疑人生的价格。我构建了一个工具,抓取Craigslist和Facebook Marketplace的信息,用GPT-4分析房源,标注潜在的警示信号,或突出真正的优惠。AI会根据每平方英尺价格、交通便利性和描述质量,给房源打分。
技术栈和我的第一个产品类似,但我学会了控制成本。我不再实时处理每个房源,而是在非高峰时段批量发送请求,那时OpenAI的费率更低。我不再把所有内容存入数据库,而是使用简单的JSON文件,每天重新生成数据。我不再构建复杂的用户界面,而是创建了一个简单、可订阅的邮件摘要。
这次发布方式不同了。我花了一周时间,在温哥华Facebook群组、Reddit社区,甚至一些我找到的、用于在温哥华找公寓的Discord服务器里发帖。反响立竿见影——几天之内,订阅用户数就相当可观。更重要的是,我验证了自己确实找到了一个值得解决的真实问题。
第三个产品源于我自己对温哥华餐饮界的挫败感。不是菜品质量的问题——这座城市有很棒的美食——而是发现好餐厅的问题。Yelp的评价大多无用,Google的评价不一致,而美食博客要么是赞助内容,要么是由口味与我截然不同的人写的。我构建了一个餐厅推荐引擎,分析来自多个来源的评价,识别真正的评价和可能的虚假评价,并根据您的偏好提供个性化推荐。
这次的AI组件更复杂了一些。我使用嵌入向量来映射评价情绪和美食偏好,构建了一个能根据用户反馈学习的推荐算法,甚至添加了一个功能,可以根据提及特定菜品的近期评价,推荐下单的菜肴。我是在温哥华解除COVID限制后推出它的。
真实的开发过程
人们总是问我的开发过程,期待某种复杂的方法论。但现实要混乱得多。我在偷来的时光里写代码——乘客进店买东西的十五分钟,白天工作午休的一个小时,城市苏醒前周日上午的三个小时。
我的工装设备因陋就简。一台翻新的MacBook Pro,一个已显老旧的汽车充电器,以及一个在WiFi信号不佳时使用的移动热点。我用VS Code搭配几个必要的扩展,保持环境简洁,并严重依赖云服务,因为我无法保证每天会在哪里工作。
版本控制通过GitHub进行,但我的提交信息大概违反了有史以来所有的最佳实践指南。"修好了那个坏掉的东西"和"API调用现在能用了"是我项目历史中的常见条目。文档很少——不是我不相信文档的价值,而是当你在下一单接单前只有三十分钟来实现一个新功能时,优先级自然会不同。
测试大多是手动的,并且大多在生产环境中完成。我知道这会让经验丰富的开发者皱眉,但当你是一个人的团队,构建着每天处理相当数量请求的产品时,复杂测试框架的开销往往得不偿失。我会执着地测试关键路径——任何涉及支付或用户依赖数据的功能都会经过多轮测试——但UI调整和锦上添花的功能,在验证最少的情况下就被发布了。
客户支持通过一个简单的联系表单和我的个人邮箱进行。我发现,在支持互动中保持响应和人性化,比拥有一个精美的帮助中心更能建立忠诚度。当有人通过邮件报告Bug时,他们会收到我的个人回复,通常在几小时内。当有人建议一个新功能时,我会诚实地告诉他们我能否实现,以及他们大概什么时候能用到。
关于钱的现实
我们来谈谈数字,因为这才是大家真正想知道的。我的三款产品目前每月产生稳定的经常性收入。与硅谷的成功故事相比,这或许不算什么,但在温哥华,这是财务压力与财务喘息空间的区别。
成本虽然可控,但规模不小。OpenAI的API调用是我所有产品中最大的开支。服务器托管是另一项月度成本。域名、SSL证书、邮件服务、分析工具——这些小订阅加起来也不少。我最大的开支实际上是时间——花在编程上而不是开车上的时间机会成本,在繁忙的夜晚,这可能相当可观。
收入完全来自订阅。我尝试过一次性购买和免费增值模式,但月度订阅提供了使这个模式可持续发展的可预测收入。我的定价刻意保持适中——我宁愿有更多每月支付更少费用的客户,而不是更少支付更多的客户。温哥华不是旧金山;这里的人对价格敏感,如果某样东西变得太贵,他们愿意换别的。
季节性规律很有趣。我的房源分析器在春季和秋季,人们找公寓时表现最好。餐厅推荐工具在夏季和节假日达到高峰。新闻摘要工具全年稳定,但在选举期间或重大市议会决策时会飙升。
我将大部分利润重新投入到产品中——在高峰使用期升级更好的服务器,在OpenAI发布新API功能时集成它,偶尔在本地Facebook群组上做付费广告。我尽量控制自己的生活品质,因为这份收入并不稳定,而我清楚地记得在油钱和食物钱之间做选择是什么感觉。
失败清单
每成功一个产品,我就有三个失败的尝试。有一个AI驱动的活动发现应用,没人用,因为Facebook已经解决了这个问题。一个为本地企业设计的自动社交媒体调度器,我花了两个月构建,然后发现目标客户付不起月费。还有个人理财助手,对于想要简单记账的人来说太复杂,对于想要复杂分析的人来说又太简单。
最难的一次失败,是一个为温哥华自由职业者设计的工具,它可以分析招聘信息并推荐最优定价策略。我深信这一定会火——我认识的每个自由职业者都在定价上挣扎,而AI似乎非常适合分析市场费率和竞争情况。我花了四个月构建它,创建了详细的用户画像,甚至向Beta测试者预售了订阅。
它彻底失败了。自由职业者想要关于定价的人工建议,而不是算法推荐。他们想要社区和社交,而不是数据分析。我为一个实际上并不以我认为的方式存在的问题,构建了一个解决方案。那次失败教会我的关于产品市场契合度的东西,比任何成功故事都要多。
未来之路
我并不是要打造下一个独角兽,或者被Google收购。我只是想打造可持续的、能盈利的产品,为我所在城市的人们解决真实的问题。AI浪潮不会以现在的形式永远持续下去,但对更好工具和自动化的潜在需求将继续存在。
我的下一个产品已经在开发中——一个为温哥华小企业主设计的AI助手,帮助他们处理从撰写社交媒体帖子到分析客户反馈等一切事务。这个想法源于我在开车时与数十位本地企业主的交谈,早期的测试表明我可能找对了方向。
长期目标不是完全取代开车的收入,尽管这最终可能会发生。目标是创造足够的经常性收入,让我拥有灵活性和选择权。当你不再过着月光族的生活时,你就可以承担更大的风险,思考更长远的未来。
在Uber接单间隙构建AI产品并不光鲜,但它让我明白,创新并不需要完美的条件或无限的资源。它只需要坚持不懈的毅力、快速失败的意愿,以及在其它义务之间的缝隙中发现机遇的能力。温哥华可能不是硅谷,但正因为如此,它才是为真实的人构建解决真实问题产品的完美之地。
Get new posts
Subscribe in your language
New posts delivered to your inbox. Unsubscribe anytime.
Receive in: