Esasy mazmuna geç
Ähli proýektler

Mobil önüm · AI · Sinhronizasiýa

Finlens — Şahsy maliýe programmasy

Özbaşdak taslap döreden şahsy maliýe programmam: Flutter programmasy, Fastify backend we Gemini esasyndaky AI mümkinçilikleri — sesden tranzaksiýa, maliýe kömekçisi bilen çat we programmanyň formalaryny doldurýan sesli kopilot.

Meniň rolum
Özbaşdak önüm: ideýa, dizaýn, Flutter programmasy, backend, AI integrasiýasy we deploý.
Tehnologiýalar
  • Flutter
  • Node.js
  • Fastify
  • PostgreSQL
  • Redis
  • Gemini API

Mesele

Çykdajylary elde girizmek ýadadýar, maşgalalar bir býudžeti birnäçe telefonda paýlaşmak isleýär, programma bolsa internetsiz hem işlemeli. Munuň üçin backend-de ygtybarly sinhronizasiýa — we birnäçe dilde erkin gürlenen sözleri dogry, gurluşly maglumatlara öwürýän AI gerek.

Arhitektura

Finlens — Şahsy maliýe programmasy — Arhitektura diagrammasyFlutter appoffline-firstFastify APIsync · auth · AIRedisrate limitsPostgreSQLrecords · changesGoogle Sign-Inid tokensGeminiJSON · SSEEval suite5 languages
Flutter programmasy maglumatlary ýerli saklaýar we PostgreSQL üstündäki Fastify API arkaly sinhronlaşýar: bir çagyryş ýerli üýtgeşmeleri wersiýalary bilen iberýär we müşderiniň kursoryndan soňky ähli zady alýar. AI soraglary backend arkaly geçýär: ol Gemini açaryny saklaýar, modeliň her jogabyny programmanyň katalogy we shemasy boýunça barlaýar, çat jogaplaryny SSE arkaly stream görnüşinde iberýär we Redis-de her ulanyjy üçin her AI funksiýasynyň çagyryş ýygylygyny çäklendirýär. AWS EC2-de nginx-iň arkasynda Docker we PM2 bilen deploý edilen.

Esasy çözgütler

  1. 01Global üýtgeşme kursory bilen optimistik concurrency

    Näme üçin
    Her ýazgynyň wersiýasy bar; köne wersiýa esaslanýan üýtgeşme ulanyjynyň çözmegi üçin konflikt hökmünde gaýdyp gelýär. Global yzygiderlik (sequence) ähli üýtgeşmeleri tertipleşdirýär, sinhronizasiýa wagtynda bolsa topar setiri gulplanýar, şonuň üçin hiç bir enjam hiç bir üýtgeşmäni sypdyrmaýar.
    Kompromis
    Bir maşgala toparynyň içindäki sinhronizasiýa yzygiderli, bir-birden ýerine ýetirilýär.
  2. 02Modeliň jogabyna hiç haçan ynanmazlyk

    Näme üçin
    Gemini-niň gaýtarýan ähli zady JSON shema hem-de ulanyjynyň öz hasaplary we kategoriýalary boýunça barlanýar. Nädogry bölekler tutuş soragy şowsuz etmegiň ýerine taşlanýar.
  3. 03Durnukly AI çagyryşlary

    Näme üçin
    Model aşa ýüklenende backend barha artýan arakesme (backoff) bilen gaýtadan synanyşýar, soňra ätiýaçlyk modele geçýär, her sorag üçin taýmaut bar — ulanyjylar ýalňyşlygyň ýerine jogap alýar.
    Kompromis
    Ätiýaçlyk model esasy modelden birneme pes hilli jogap berip biler.
  4. 04AI-ny çaklamak däl-de, ölçemek

    Näme üçin
    Bäş dilde müňlerçe sesli jümleden ybarat aýratyn synag toplumy durnuklylygy barlamak üçin gaýtalanýan işledişler bilen prompt ýa-da model üýtgeşmesiniň çykarylmazdan öň hakykatdan peýdalydygyny görkezýär.

Näme döretdim

  • Ses → tranzaksiýa: girişde audio we ulanyjynyň öz katalogy, çykyşda shema boýunça barlanan JSON garalama
  • SSE arkaly stream görnüşinde işleýän maliýe kömekçisi bilen çat; programmanyň 20 töweregi formasyny doldurýan sesli kopilot
  • Offline-first maşgala sinhronizasiýasy: ýazgylaryň wersiýalary, kursor bilen sahypalanýan üýtgeşmeler lentasy, topar setirini gulplamak
  • Ýatyryp bolýan JWT bilen Google arkaly giriş, Google Play talaplaryna laýyk akkaunty pozmak we maglumatlaryň möhletiniň awtomatik gutarmagy
  • LLM baha beriş toplumy: 5 dilde her dil üçin 7 000 töweregi synag ýagdaýy, şeýle hem programma↔serwer şertnamasyny barlaýjy
  • Ýatdaky PostgreSQL-de (PGlite) 254 backend testi

Sanlarda

her dil üçin sesli jümleleri derňemek boýunça synag ýagdaýlary
~7,000
AI baha beriş toplumyndaky diller
5
awtomatik backend testleri
254