Avash Shrestha

Senior full-stack and mobile engineer

I build web, mobile, and backend products with React, React Native, TypeScript, and Python. From 2018 to 2026 I worked at Linx Systems, a small software company in Bloomington, IL, where I was the primary mobile engineer and led the frontend. I also built the AI extraction pipeline behind a hotel-offers platform.

Most of this work is not publicly available, so each project below walks through the problem, what I built, and the result.

Bloomington, ILOpen to relocation or remote

Work

AI extraction pipeline for a luxury hotel-offers platform

2023 to 2026

Lead engineer on the extraction system. I took the product from data discovery and vendor evaluation through cloud setup, then built the pipeline and its tooling.

The problem

Luxury hotels sell packages and experiences on their own websites, and those offers change constantly. Entering them by hand took weeks per cycle, and some offers expired before anyone could type them in.

What I built

  • A Python and Celery pipeline that crawled 1,200+ hotel properties across 130+ domains and used the Gemini API to extract structured offers.
  • Multi-stage extraction: content-quality gating, page-type classification, traversal from list pages into each offer's detail page, schema-constrained prompting, and staged validation against hallucinated output.
  • A second Gemini stage that scored every offer on six quality metrics, against rubrics defined with product stakeholders, citing the evidence behind each score.
  • The React and TypeScript operations platform where the team managed, cloned, and test-ran 1,950+ crawl configurations, tracked live crawl progress, and reviewed extracted offers against a markdown view of each source page.
  • A re-architecture of the single-stage Django/Celery pipeline into fetch and process stages on separate workers.
  • A rebuilt Django ingestion for the vendor feed of hotel property data, hundreds of thousands of PostgreSQL records, using bulk writes and removing N+1 queries from the main write paths. A Celery handover passed an overrunning sync's unprocessed IDs to the next run, so update bursts of 8,000+ properties (8x the vendor's stated ceiling) no longer stacked up parallel syncs that blocked other tasks.
  • A written make-vs-buy analysis that moved crawling to two scraping vendors, plus a provider-neutral fetch layer over them, hosted on DigitalOcean and Cloudflare.
offers extracted for the public launch in mid-2025
15,000+
CPU after the fetch and process split, with both workers on cheaper tiers
100% → <50%
below equivalent AWS pricing for the hosting (estimated)
~30%
per property for the vendor sync after the ingestion rebuild
>1 min → seconds

Built with Python, Django, Celery, PostgreSQL, Redis, Gemini API, React, TypeScript, Next.js, DigitalOcean, Cloudflare

Offline-first workforce app for field crews

2025 to 2026

Owned the Android app. I joined for the UI, and the scope grew to the whole app.

The problem

An agricultural labor client tracked crew time and work on a legacy Java Android app with no documentation, and its author was retiring.

Crews worked at job sites with poor connectivity, and their records fed payroll, billing, and wage-and-hour compliance for the client's customers, so data captured in the field could not be lost.

What I built

  • Worked out the undocumented app's behavior and rebuilt it in React Native and TypeScript: 21 screens covering crew login, time tracking, work capture, signatures, and reporting in one workflow, on React Native 0.79 and the New Architecture.
  • Hardware capture for NFC/RFID tags, HID barcode scanners, and USB weight scales, with a custom Kotlin native module for serial scale reads and a key-event pipeline that deduplicates scans.
  • Offline-first storage in Realm: per-day event logs, 500-event batch uploads on a 5-second interval, and a Kotlin storage module that falls back to internal storage and re-queues failed writes.
  • English and Spanish support through a small localization engine built on React context, plus dark mode and tablet layouts readable in direct sunlight.
smaller codebase than the Java app it replaced
90%
to rebuild the app
~3 months
of field workers the app was built for
Tens of thousands

Built with React Native, TypeScript, Kotlin, Realm, Android, NFC/RFID

Agronomy content platform for an enterprise agriculture client

2019 to 2024

Primary mobile engineer, then co-lead of a three-developer team after the tech lead left.

The problem

The US division of a global agriculture company used this platform to reach growers, retailers, and consultants. Agronomists and the client's staff published updates, market analysis, and field conditions across an iOS and Android app, a website, and an admin site.

Partway through a major rebuild, our tech lead left. The release date stayed the same, and there was no backfill hire.

What I built

  • Took over the tech lead's mobile and DevOps work, led the frontend, and re-scoped the release into phases the client prioritized.
  • Rebuilt the React Native app for iOS and Android and revamped its companion React website in about 3 months.
  • Chat and event livestreams in React and React Native on the Stream SDK, with push notifications that opened the right screen.
  • A hybrid update strategy: CodePush for JavaScript fixes, Firebase Remote Config and feature flags for runtime changes, and forced-update prompts for native releases.
  • Branch-triggered CI/CD with Fastlane and Bitrise for iOS and Android, and CircleCI for the React and Next.js web deploys.
  • Co-led a visual ROI calculator comparing the client's grower rebates with three competitors', which its sales and marketing teams used with growers.
flagship release after the tech lead left mid-project
On schedule
of manual release work saved per developer per day
30 to 60 min
installs on Google Play
1,000+

Built with React Native, React, TypeScript, Redux, Django, MySQL, Stream SDK, Firebase, CodePush, Fastlane, Bitrise, CircleCI

Agricultural market app and shared product libraries

2018 to 2021

Full stack and mobile developer across the web app, the mobile app, and the Django backend.

The problem

Agricultural market users needed to act on time-sensitive prices. At the same time, each of our products needed the same chat, CRM, media, and login features.

What I built

  • Dashboards and a futures board in React and React Native over live market data, comparing multiple time series across configurable date ranges.
  • Django authentication flows, including a login-as-user path that let support troubleshoot client accounts without exposing unauthorized actions.
  • Shared package libraries for CRM, chat, media, authentication, and core UI primitives across React, React Native, and Django, with TypeScript-typed interfaces.
  • Upgraded multiple Django backends from version 2 to 3 on my own.
users on the B2B platform
900
shipped products built on the shared libraries
2

Built with React, React Native, Redux, TypeScript, Django, MySQL

Across these projects

  • Raised PageSpeed Insights scores from about 60 to about 95 on production React applications through progressive and lazy image loading, caching, and smaller bundles, and cut wasted renders with memoization and virtualized lists profiled in React DevTools.
  • Mentored three engineers through code review on correctness, design, and testing.
  • Wrote the React and React Native hiring assessment.
  • Onboarded an intern to contribute autonomously to the live system within 2 weeks.
  • Owned App Store and Google Play releases: review, rejections, store compliance, and code signing.

Skills

Languages
TypeScript, JavaScript, Python, SQL, HTML, CSS, Kotlin (native modules)
Frontend
React, Next.js, Redux, React Router
Mobile and release
React Native, React Navigation, Reanimated, Realm, Firebase, CodePush, Fastlane, Bitrise, TestFlight, App Store Connect, Google Play Console
Backend and data
Django, Django REST Framework, Celery, PostgreSQL, MySQL, Redis, REST APIs, WebSockets
AI
Gemini API, Structured extraction, Schema-constrained prompting, LLM-as-judge scoring
Cloud and CI/CD
DigitalOcean, Cloudflare, Docker, GitHub Actions, CircleCI
Testing and monitoring
Jest, React Testing Library, Pytest, Playwright, BugSnag

Contact

Email is the best way to reach me.