Custom Web Tools and Databases
I design and build custom web tools, databases, and decision-support systems that help fisheries and aquatic science programs turn complex data into usable insights and actions.
These tools sit at the intersection of science communication, data management, modelling, and geospatial analysis. They are purpose-built to support watershed management, habitat restoration, and monitoring programs, whether that’s a lightweight web app for a field season, a data portal for a workshop series, or a longer-term system that becomes a core program asset.
Why Custom Tools Work (Now More Than Ever)
The biggest shift in this space is speed and accessibility.
Modern frameworks, cloud infrastructure, and AI-assisted development now make it possible to prototype and deploy tools in days or weeks, not months. Applications that once required large budgets and dedicated dev teams can now be built cost-effectively and tailored to the real needs of smaller organizations, such as First Nations fisheries programs, watershed groups, and local NGOs.
I regularly develop proof-of-concept tools quickly, then work with clients to test ideas, refine workflows, and scale only what proves useful.
How I Work
Most projects don’t start with a perfect specification, and that’s expected. My approach focuses on:
- Getting the underlying architecture right
- Launching a working prototype early
- Iterating with users based on real-world use
- Scaling only where value is clear
This approach works especially well in environmental programs, where day-to-day work involves integrating time-series data, models, statistics, and geospatial information, and where needs evolve as projects unfold.
AI-Enabled Development (Used Practically, Not Hype)
I actively integrate AI tools into my development workflow to increase speed, reduce cost, and improve maintainability, while keeping scientific judgment and data governance firmly human-led. This includes:
- ChatGPT Response API - rapid prototyping, data pipelines, QA/QC workflows, documentation, and internal tools
- Google Gemini API - multimodal workflows, document parsing, and structured data extraction
- Claude Code & even some “vibe coding” - fast iteration on complex logic, refactoring, and exploratory builds
AI systems allows us to:
- Move from idea to prototype faster
- Explore multiple design paths efficiently
- Deliver more functionality within fixed budgets
- Focus human effort on science, interpretation, and decision-making, not boilerplate code
Tools, Frameworks & Platforms
- Data Manipulation & Modelling R, R Shiny, R Plumber APIs, Python, Excel/VBA (legacy projects), JavaScript for data analysis, & Python
- Web Tools & Applications HTML, CSS, JavaScript, PHP, jQuery, GitHub Pages, Quarto
- Libraries & Frameworks Single-Page Applications (SPA), Angular, Vue.js, Drupal, WordPress
- Databases: PostgreSQL & PostGIS, MySQL, Neo4J
- Cloud & Infrastructure: Ubuntu/Linux servers (DigitalOcean Droplets, Managed Databases, Apps), AWS (S3, Lambda), Google Cloud Platform
- Geospatial Leaflet, Mapbox, GeoServer, pg_tileserv, QGIS plugins, Google Earth Engine
- Automation & DevOps APIs, CRON jobs, CI/CD pipelines, Docker containerization
- AI & Advanced Tooling ChatGPT Response API, Google Gemini API, Claude Code, AI-assisted development workflows
Why This Matters
Custom tools are no longer reserved for mega-projects. Well-designed, lightweight applications can now deliver outsized impact supporting better decisions, clearer communication, and stronger stewardship outcomes. Building these tools for fisheries and aquatic programs is not only technically interesting, but personally rewarding, especially when they support community-driven watershed management.