૧૨ કલાકમાં AI ક્લાયમેટ ડિસિઝન એન્જિન બનાવવું
મોટાભાગની કાર્બન ફૂટપ્રિન્ટ એપ્સ નિષ્ફળ જાય છે.
તેઓ તમને માત્ર એક આંકડો આપે છે. તેઓ તમને સામાન્ય સલાહ આપે છે. જાગૃતિ વર્તણૂકમાં ફેરફાર લાવતી નથી. તમારો ફૂટપ્રિન્ટ 8 ટન CO2 છે તે જાણવાથી તમને આગળ શું કરવું તે ખબર પડતી નથી.
આ સમસ્યાના ઉકેલ માટે મેં Climbit બનાવ્યું છે. તે કેલ્ક્યુલેટર નથી. તે એક ડિસિઝન એન્જિન છે. તે એક જ પ્રશ્નનો જવાબ આપે છે: અત્યારે હું કયું શ્રેષ્ઠ પગલું લઈ શકું?
મુખ્ય લોજિક (The Core Logic)
મોટાભાગના સાધનો માપન (measurement) પર ધ્યાન કેન્દ્રિત કરે છે. Climbit નિર્ણયો (decisions) પર ધ્યાન કેન્દ્રિત કરે છે. સિસ્ટમ તમારા નીચેના પાસાઓ તપાસે છે:
- મુસાફરી (Commute)
- ઘરની ઉર્જા (Home energy)
- ખોરાક અને આહાર (Food and diet)
- પ્રવાસ (Travel)
તે કાર્બન ઘટાડો, ખર્ચ, પ્રયત્ન અને સુસંગતતાના આધારે ક્રમ આપે છે.
એન્જિનિયરિંગ સ્પ્લિટ (The Engineering Split)
મેં એક મહત્વપૂર્ણ પસંદગી કરી. મેં ગણિતને AI થી અલગ કર્યું.
Large language models ગણિતમાં નબળા હોય છે. તેઓ આંકડાઓમાં ભૂલો (hallucinate) કરે છે. Climbit માં, AI ક્યારેય ઉત્સર્જન (emissions) ની ગણતરી કરતું નથી.
વર્કફ્લો આ રીતે કામ કરે છે:
- તમે ટેક્સ્ટ, અવાજ અથવા રસીદોના ફોટા દ્વારા ડેટા આપો છો.
- Gemini ડેટાને સ્ટ્રક્ચર્ડ JSON માં એક્સટ્રેક્ટ કરે છે.
- TypeScript એન્જિન વાસ્તવિક ગણતરી કરે છે.
- AI પરિણામોનું અર્થઘટન કરીને તમને વ્યક્તિગત પ્લાન આપે છે.
આ ડેટાને સચોટ રાખે છે અને અનુભવને વ્યક્તિગત બનાવે છે.
ટેક સ્ટેક (The Tech Stack)
- Next.js 15 and React 19
- TypeScript and Tailwind CSS
- Supabase and Clerk
- Google Gemini 1.5 Flash
- Vitest and Playwright
વાસ્તવિક સમસ્યાઓનો ઉકેલ (Solving Real Problems)
આ બનાવવા માટે મુશ્કેલ ટેકનિકલ સમસ્યાઓનો ઉકેલ લાવવો જરૂરી હતો:
- Hydration: Recharts ને કારણે સર્વર રેન્ડરિંગ દરમિયાન ભૂલો આવતી હતી. મેં ક્લાયન્ટ માઉન્ટ થાય ત્યાં સુધી ચાર્ટ રેન્ડરિંગને મોકૂફ રાખીને આ સમસ્યા સુધારી છે.
- Security: મેં token bucket rate limiter લાગુ કર્યું છે. આ મોંઘા AI endpoints ને દુરુપયોગથી બચાવે છે.
- Accessibility: મેં semantic HTML અને ARIA labels નો ઉપયોગ કર્યો છે. Accessibility એ એક જરૂરિયાત છે, માત્ર વિચાર્યા વગરનું કામ નથી.
પાઠ (The Lesson)
AI કોડિંગની ઝડપ વધારે છે. તે આર્કિટેક્ચરનું સ્થાન લેતું નથી.
મેં મારો મોટાભાગનો સમય આ બાબતોમાં વિતાવ્યો:
- Hydration સમસ્યાઓ સુધારવામાં.
- Edge cases ને વેલિડેટ કરવામાં.
- સુરક્ષા મજબૂત કરવામાં.
- વિશ્વસનીયતા સુધારવામાં.
ડેમો અને પ્રોડક્ટ વચ્ચેનો તફાવત આ વિગતોમાં રહેલો છે. લોકોને વધુ ક્લાયમેટ ડેટાની જરૂર નથી. તેમને વધુ સારા ક્લાયમેટ નિર્ણયોની જરૂર છે.
Optional learning community: https://t.me/GyaanSetuAi