Groundwave · Founder-built product, not client work

Replacing scattered club administration with one shared system.

Groundwave brings FCC-derived public records, operator tools, and the recurring work of running a radio club into one product. I founded it, built it, deployed it, and continue to operate the whole system through Whisker Tech.

The operational problem

Radio clubs depend on changing public license data and volunteers who rotate through leadership roles. Member lists, dues, event records, documents, and account access can end up split across spreadsheets, inboxes, and personal accounts. That makes routine work slower and puts institutional knowledge at risk when an officer leaves.

Groundwave replaces that fragmentation with shared member and dues records, net logs, events, documents, elections, and role-based administration. Its public side gives individual operators free tools to search callsigns, find nearby communities, share live activity, evaluate RF exposure, and track station conditions.

My role
Product, UX, engineering, and operations
Public data
800,000+ FCC ULS-derived operator records
Users
Individual operators and club volunteers
Model
Free operator tools and paid club plans

Decisions that shaped the system

Build around work people already repeat

I narrowed a broad community idea to jobs with clear value: finding operators and clubs, documenting station changes, and keeping club records usable through officer turnover. The product grew around work people were already doing rather than around a generic social network.

Separate public utility from internal operations

Public records and individual tools are useful without a club subscription. Paid plans cover the shared administrative work where access control, continuity, and dependable records matter. This keeps public discovery open while giving club leaders a private place to run the organization.

Plan to rebuild external data safely

Incremental imports are efficient, but they are not a complete recovery plan. Groundwave can reconstruct its external dataset while preserving records owned by users and clubs. Replacing or reconciling a source is normal system behavior, not an improvised emergency task.

Connected tools for operators

The operator tools cover station tasks that would otherwise live in separate utilities or personal notes. They use one Groundwave identity while helping people coordinate live activity, document compliance, measure local interference, and learn from changing propagation.

On the Air

Operators can broadcast their current band, mode, frequency, grid square, and notes to a real-time activity feed. Sessions expire automatically, reusable presets reduce repeated entry, and following another operator can produce an in-app notification when that person goes live.

RF Exposure Calculator

The calculator models an amateur station using band, mode, power, antennas, feedline loss, and operating duty cycle. It evaluates controlled and uncontrolled exposure limits, calculates minimum safe distances, supports multiple antennas, and lets operators save or export their evaluation.

Noise Floor Tracker

Operators can record S-meter readings across amateur bands using saved equipment profiles, then compare trends over time. Multi-band charts, timeline annotations, location tags, batch entry, and CSV export help turn individual measurements into a useful station history.

Propagation Journal

The journal pairs an operator’s observations with NOAA solar indices captured when each entry is made. Bands, modes, conditions, regions heard, contacts, signal reports, and antenna profiles provide context for understanding how propagation and station performance change over time.

Public data people can use

Groundwave map and directory for finding amateur radio clubs by location
Public license data and club-managed information meet in one geographic directory.

Groundwave turns nationwide license records and club information into direct callsign lookup and location-aware directories. Operators can find organizations and activity near them instead of working through raw public files.

Useful public data requires more than displaying an import. Records change, geographic details have to support meaningful searches, and external identities must connect cleanly to club profiles managed inside the product.

Keeping external records dependable

Groundwave reads FCC ULS bulk files instead of treating public records as a one-time seed. Incremental updates and periodic full rebuilds keep more than 800,000 operator records current while the application remains available.

The hard part is continuity. Licenses, people, and callsigns change, but users still expect stable accounts and club records. Groundwave keeps imported FCC records separate from data created by users and clubs, so an external refresh cannot overwrite internal operational history.

Source identities are also separate from Groundwave accounts. I can rebuild the FCC-derived dataset without deleting profiles, memberships, dues history, documents, or other product-owned information.

Shared club operations

Groundwave demonstration workspace showing shared club events, messages, officers, members, dues, repeaters, and documents
The implemented workspace puts recurring club work in one application. This view uses synthetic demonstration data, not client records.

Club administration is a set of connected workflows, not one list of contacts. Membership affects dues, access, communications, elections, and recordkeeping. Nets and events create histories that need to remain understandable to the next group of volunteers.

I built those capabilities as one permission-aware system. Club knowledge stays in a shared workspace rather than moving between officers as spreadsheets, documents, and personal credentials.

Operating the whole system

I remain responsible for Groundwave’s product choices, interface design, engineering, data, deployment, support, and maintenance. That ownership makes the cost of weak decisions visible after release.

What this work demonstrates

The product now supports public callsign and club discovery, individual station tools, and paid club administration. Running it shows how connected operations behave in practice: a failed import affects search freshness, a permission mistake puts shared records at risk, and interface friction turns into support work.