FOUNDATION
PERSONNEL FILE: GROVER, S.
- Open2Space (11 Years): Founded and operated a boutique consultancy managing full-lifecycle development and talent acquisition.
- Team lead: Guided and mentored development teams over multiple projects.
- Decision Authority: Responsible for making technical, staffing, and management choices for many projects.
- Community Advocacy: Former President of the Calgary Linux Users Group; Founder of Linuxfest Calgary.
746 Communication Squadron. Specialized in Radio/Teletype cryptography, and disaster recovery with focus on communications north of the 60th parallel. Early adopter of ADP (Automatic Data Processing) and networking systems (Novell and Banyan Vines).
Expertise in MSSQL/PostgreSQL Relational Design, Nginx, CI/CD Pipelines (GitHub/GitLab), full-stack React/Node.js ecosystems, Linux servers and systems, and many programming languages.
- Customer projects remain private and isolated at all times, retained by the customer.
- Adopt research persona (GroverCoder) to acquire expertise in newer technologies and determine how best to apply these to current and future projects.
- Adopt professional persona (ElderCrank) to present stable and commercially viable projects.
- Remain vigilant with regards to emerging technologies, techniques, and security concerns.
- City of Airdrie: Designed and implemented a census system.
- Clorox of Canada: Website design and maintenance for multiple products. Early CI/CD system.
- Calgary Airport Authority: Developed contract management system and flight information system.
- University of Calgary: Javascript Instructor (Continuing Education)
GROVERCODER
MISSION BRIEFING: GROVERCODER
- Discover new technologies or approaches/techniques to solve routine business tasks.
- Discover current security issues, gain a thorough understanding of the concerns, identify the mitigation process to apply.
- Research protocols, languages, libraries, and frameworks to determine how these can benefit current and future projects
- Identify limitations and risks of 3rd party solutions to business needs. Determine when and when not those solutions may be suitable. Inform customers of options and risks when using these solutions.
- Local AI/LLM: Identify the requirements and techniques to keep LLM use in-house and private.
- AI Assisted Development: Determine which systems work well with typical developer workflows, when the AI can be trusted to run unattended. Current findings indicated a curated use of AI is a best practice.
- Expansion of multi-tenant SaaS system knowledge: Build on previous knowledge and attempt different approaches and libaries to facilitate the solutions.
- Supabase: determine pros/cons for using Supabase over a custom user management and authentication system.
- Python based email automation: handle multiple mailboxes in a secure manner, filtering messages into folders to reduce the large influx of messages into an inbox.
- Personal dashboard: Tracking status of many disparate, unrelated research and customer projects.
- Job Search automation: Automatically monitor job boards for postings that can match a user's skills and experience.
- Automated development environments: Develop methods for creating consistent, reliable development environments for implementation on different workstations.
- Memory-Safe Systems: Evaluating Rust and Go for high-performance backend services to replace legacy C/C++ implementations.
ELDERCRANK
DEPLOYMENT DOSSIER: ELDERCRANK
Industrial Firmware: Architected a GitLab-based orchestration pipeline that reduced Debian image generation from days to 20 minutes for mining networking devices.
Municipal Scalability: Modernized a ColdFusion census engine into a Node.js/React multi-tenant system. Benchmarked to support 1,000,000+ residences with high-availability Nginx proxying.
Commercial Marketing: Developed marketing tools ranging from simple web pages, full web applications, interactive SMS tools, and bulk email campaign tools.
- Persistence: PostgreSQL, MSSQL, MySQL/Maria, Redis, SQLite, NoSQL, Structured Text Files, Binary Files
- Transport: Nginx, RESTful API Design, MQTT, Webhooks, SSH, VPNs
- Pipeline: GitHub Actions, GitLab CI/CD Pipelines, Automated Testing, Ansible, SFTP, Bash
- Virtual Environments: VMs, Cloud VPCs, Docker/Podman, Proxmox, Qemu, chroot, systemd
- Runtime: Node.js, React, Linux (Debian, Arch, Gentoo), Electron
- Assessment of Need: Identify the needs of a customer project, or an area that could be improved. Document and describe the desired outcome.
- Feasibility: Determine if existing tools can meet this need, is it cost effective, can it be used privately, etc. Identify the costs, funding, and limitations (time, worker resources, expenses, etc.)
- Analysis and basic design: Identify the core entities and processes needed. Find repeating elements. Determine the best way to interface with the tool. Develop an implementation plan. Develop the developer workflow (branching, pull requests, CI/CID needs, delivery environments, etc.)
- CI/CD pipeline: Ensure the project is deployed automatically as changes are made. Focus on testing, staging, and production environments as needed.
- Implementation: Build the tool. Generate unit and acceptance tests. Generate reporting and demonstrations for review and QA purposes.
- Developer Testing: Thoroughly test the system at each milestone. Determine if interface can be improved. Can improvements fit into funding and time limitations. Reimplement if feasible.
- Automated Testing: Ensure all unit tests cover the system thoroughly and pass. Identify failures and resolve any issues.
- Delivery: Deliver each "release" to the production environment for customer or public use.
- Maintenance: Monitor the project logs and issue tracking. Identify training, or technical issues and develop a resolution to the issues. Define a roadmap for new feature development.