Skip to content

gondamol/nomadforms

Repository files navigation

NomadForms

Open-source, offline-capable survey platform for field research in Low and Middle Income Countries

License: MIT Status: Development

🌍 Vision

Create a survey platform that rivals REDCap and SurveyCTO while being:

  • Open Source: Free forever, MIT licensed
  • Offline-First: Works 7+ days without internet
  • Mobile-Ready: Optimized for tablets and phones
  • LMIC-Friendly: Low bandwidth, budget devices, multi-language

🎯 Key Features (Planned)

For Field Workers

  • 📱 Mobile app (Progressive Web App)
  • 🔌 Offline data collection (7+ days)
  • 📸 Camera, GPS, QR code integration
  • 🌐 Multi-language interface

For Researchers

  • 🎨 Visual survey builder (no coding required)
  • 📊 Export to Stata, SPSS, R, Excel, CSV (with labels)
  • 📝 Import REDCap codebooks
  • 🔄 Skip logic and calculated fields

For Organizations

  • 🏠 Self-hostable
  • 🔒 Secure (encryption, audit trails)
  • 💾 PostgreSQL backend (Supabase supported)
  • 🆓 Cost-effective (<$30/month or free)

🏗️ Architecture

Built on surveydown foundation:

Visual Builder (React) → Generates Code (Quarto + R)
                              ↓
                    Shiny App + PWA (offline)
                              ↓
              IndexedDB (local) + PostgreSQL (cloud)
                              ↓
                    Rich Exports (Stata, SPSS, R)

🚀 Current Status

Phase: Active Development 🔨

  • Architecture design
  • Technical specifications
  • Core survey engine (in progress)
  • Visual builder
  • Offline capabilities
  • Mobile optimization

🛠️ Tech Stack

Backend: R, Quarto, Shiny, PostgreSQL
Frontend: React, TypeScript
Mobile: Progressive Web App (PWA)
Database: PostgreSQL (Supabase or self-hosted)

📦 Quick Start

Try the Demo (5 minutes)

# 1. Clone the repository
git clone https://github.com/gondamol/nomadforms.git
cd nomadforms

# 2. Install R packages
R -e 'install.packages(c("shiny", "DBI", "RPostgres", "jsonlite", "htmltools"))'

# 3. Run the demo
cd examples/demo-survey
quarto preview survey.qmd

See: TESTING.md for detailed testing instructions including mobile testing.

Current Features (Phase 1 - 40% Complete)

Working Now:

  • 7 question types (text, numeric, radio, checkbox, select, slider, textarea)
  • Mobile-responsive design (works on phones, tablets, desktops)
  • Touch-optimized controls (44px minimum touch targets)
  • Field validation (required fields, ranges, types)
  • Success/error notifications
  • Session tracking

⏸️ Coming Soon:

  • Database persistence (PostgreSQL/Supabase)
  • Offline capability (PWA + IndexedDB)
  • Visual survey builder
  • REDCap codebook import
  • Data export (Stata, SPSS, R)

🤝 Contributing

We welcome contributions! This project is in early development.

Interested in:

  • Beta Testing: Try early versions
  • Development: R/Shiny, React/TypeScript, PostgreSQL
  • Documentation: Translations, tutorials
  • Funding: Support development

Contact: [your-email@example.com]

📖 Documentation

Documentation will be added as features are implemented

🎓 Based On

Built on surveydown by Pingfan Hu, Bogdan Bunea, and John Paul Helveston.

Hu P, Bunea B, Helveston J (2025). "surveydown: An open-source, markdown-based platform for programmable and reproducible surveys." PLOS One, 20(8). doi:10.1371/journal.pone.0331002

📄 License

MIT License - see LICENSE file for details

🔗 Links


Status: 🔨 Active Development
Next Milestone: Core survey engine
Target Launch: Q4 2026


Mobile-first surveys for researchers on the move 📱🌍

About

Survey tool open source

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors