Thesis / Mobile
AniSense
Crop prices, price forecasts and a direct marketplace for farmers in Nueva Ecija, Philippines.
- Platform
- Android app and admin website
- Role
- Lead developer
- Status
- Pre-release, preparing for Google Play
Farmers often sell their harvest without knowing the current market price, or through agents and middlemen, and buyers rarely reach them directly. AniSense gives both sides one place to meet the market.
- Farmers see monthly retail prices and a three-month price forecast, sell directly to buyers, and keep simple records of their costs, sales and profit.
- Buyers browse fresh harvests, compare them with market prices, and order straight from the farmer who grew them.
- The AniSense team runs the service from an admin website: monthly price updates, members, listings, orders, statistics and farmer awards.
The app is designed for farmers aged 50 to 70 on Android phones. The whole interface is in English and Tagalog, and the app keeps working without a signal, so users can still see prices and use its other features.
- Mobile app. React and TypeScript, packaged for Android with Capacitor, on a Supabase backend: PostgreSQL, authentication and photo storage.
- Security in the database. Row Level Security is on for every table. Checkout, payments, ratings and account deletion run as database functions, so stock is checked and reduced in one step and a modified app cannot fake prices or orders.
- Offline first. Every list the app loads is cached in SQLite on the phone. Records made without signal are queued and sent in order when the connection returns, and the app opens on the saved account with no signal at all.
- Monthly prices. The team enters the government's retail prices on the admin website. They are saved to the database and reach every phone the next time it is online, with the change from the month before worked out automatically.
- Forecasting. ARIMA and LSTM models are trained on monthly records from 2021 to 2026 and tested on a 12-month hold-out against a same-as-last-month baseline. The phone reads the finished forecasts: LSTM draws the outlook chart and ARIMA drives the sell-now-or-wait advice.
- Accounts. Sign-up by mobile number or Gmail, confirmed with a six-digit code from a server function that sends email through Brevo and SMS through Semaphore. Member numbers are issued by the database in joining order, and a password history blocks reuse of the last ten passwords.
- Monthly retail prices with the change from last month
- Three-month price outlook with sell-or-wait advice
- Marketplace listings with photo, price and quantity
- Order alerts with call and confirm
- Expense, sales and profit tracking
- Crop tracker counting down to harvest
- Price alerts at a target price
- Local weather and the best window for fieldwork
- Achievement badges, including Farmer of the Month
- Fresh listings, cheapest crops and price moves on Home
- Search, filter and sort harvests
- Cart and checkout with stock checked on the server
- Order tracking, payment records and farmer ratings
- Farmer profiles with rating, experience and crops
- Featured farmers, led by the Farmer of the Week
- Guest mode to see prices without an account
- English and Tagalog throughout
- Step-by-step sign-up and a guided walkthrough
- Digital member ID card
- Password change and reset by code
- Account deletion in the app and on the web
- Overview dashboard with sign-up and order charts
- Monthly price entry with typo checks and undo
- Searchable members, listings and orders
- Farmer of the Month and Year awards
- Separate admin accounts and automatic sign-out
- React 18, TypeScript 5, Vite 5, Capacitor 8 (Android), SQLite
- Supabase: PostgreSQL, Auth, Storage, Row Level Security, PL/pgSQL functions, Edge Functions
- Python, statsmodels (ARIMA), PyTorch (LSTM), pandas, NumPy
- HTML, CSS, JavaScript, supabase-js, hosted on Vercel
- Open-Meteo (weather), Brevo (email), Semaphore (SMS)
AniSense gives farmers the price information they usually lack when they sell, and a direct route to buyers. It pairs a mobile app built for older users and weak signal with a secure database, an admin dashboard for the team, and price forecasts whose accuracy is measured and shown. The project spans the full stack: accessible mobile design, database design and security, offline sync, and machine-learning forecasting.


