Skip to main content
All projectsRecruiter profile

Confidential EdTech · Mobile & EdTech

Learning software built for unreliable networks

As a freelance engineer for a Thai-German education platform, I built mobile and web learning flows around audio, progress, and intermittent connectivity. My work connected the learner experience with local state and Firebase services.

My role
Senior Full-Stack / Product Engineer
Engagement
Freelance client work
Period
2025-Present

Confidential client work

Freelance product engineering across learner-facing applications, local session handling, and serverless data and audio workflows.

Project at a glance

The need
Learners need practice, audio, and progress to work together even when a network connection is inconsistent.
What I delivered
Learning flows designed around cached content, queued progress updates, and preloaded audio, with cloud services supporting the shared data and audio workflows.

Confidential freelance engagement. Client identity and internal product screens are not disclosed.

My contribution

  • Developed mobile and web learning experiences connecting guided practice, audio exercises, spaced review, and progress tracking.
  • Implemented local caching and queued updates to account for gaps between learner interactions and successful cloud requests.
  • Built audio preloading and serverless audio workflows to support repeated listening practice.
  • Developed Firebase services with TypeScript, Zod validation, and automated tests for data and audio workflows.

Technical challenge

A lesson can involve several state changes before the next successful network request. Audio, exercise progress, and pending updates need to remain coordinated when connectivity drops, without making every interaction depend on the cloud.

My approach

I built learning flows with cached content, queued progress updates, and preloaded audio. Firebase and Cloud Functions support shared state and audio processing, with TypeScript, Zod validation, and automated tests around the service workflows.

Engineering decisions

Treat intermittent connectivity as normal

I separated local session handling from deferred cloud updates. Cached content and queued changes give learning flows a way to handle network gaps instead of treating every interruption as an exceptional state.

Validate the service workflows

I paired TypeScript with Zod validation and automated tests around Firebase and audio services. Runtime checks complement static types where data enters a service boundary.

Explore the system architecture

Learning applications coordinate practice with a local cache and update queue. Firebase services support shared state and serverless audio work when connectivity is available.

System architecture

Select a component to explore its responsibilities.

Data flow
1.Practice & local updates
2.Synchronize queued changes

Learning applications: responsibilities

Learning paths
Spaced review
Audio practice

Technology

  • React Native
  • Expo
  • TypeScript
  • Firebase
  • Firestore
  • Cloud Functions
  • Zod
  • Vitest
WhatsApp