Open it and follow the installation instructions. If needed, temporarily allow your browser to install this app, then turn that permission off afterward. Keep Play Protect enabled.
Already installed? Update without uninstalling first.
Open FitMeReach and follow the signup or sign-in steps. Your waitlist signup did not create an app account.
Outside Iowa? Testing is not available in your area yet. Join the waitlist for future availability and help spread the word. Your interest helps us decide where to expand next.
The FitMeReach waitlist
Iowa first. Your community could be next.
Outside Iowa? Join for future availability and help us decide where to expand next. Personal and school emails are welcome. In Iowa? Get the free beta above. Waitlist signup and app registration are separate.
For testers
Your feedback makes the next version better.
Focus on your first impression, profile setup, Discover, Events and ease of navigation. Preview interactions with sample content may not create real connections or reserve real event spots.
Include device, operating system, app version, steps and what you expected. Avoid passwords and sensitive personal information. Keep your installed app until updated installation instructions are confirmed.
A school email is not required for the waitlist. Personal and school emails are welcome. Beta testing is currently Iowa-only; app registration and eligibility checks are separate.
Who is FitMeReach for?
FitMeReach is for ages 15 and up. Early access eligibility and platform availability still apply.
Is this a finished app?
No. The free beta is available for testing in Iowa. Features may be unfinished and availability may change. The V0.1 previews on this page show sample data.
How do I get help?
Email support@fitmereach.com or use the contact form below for access questions, bug reports and feedback. Include your device and app version so we can understand the issue.
How should I plan a meetup?
Confirm the organizer, location, time and details directly before attending. A preview event or sample join action is not a real reservation.
Our story
Stronger communities. One shared activity at a time.
FitMeReach began with founder Dady's own challenge: finding people to play sports and explore activities with. Today, FitMeReach’s next version is being developed around that same goal—helping everyday athletes build connections and get moving together.
document.querySelectorAll('.fmhub a[href^="#fm"]').forEach(function(link){link.addEventListener('click',function(event){var target=document.getElementById(link.getAttribute('href').slice(1));if(target){event.preventDefault();event.stopImmediatePropagation();target.scrollIntoView({behavior:'auto',block:'start'});target.setAttribute('tabindex','-1');target.focus({preventScroll:true});}},true);});document.querySelectorAll('#home-section form input,#home-section form textarea').forEach(function(field){if(field.placeholder)field.setAttribute('aria-label',field.placeholder);});document.querySelectorAll('a[href="#contactme"]').forEach(function(link){link.addEventListener('click',function(event){event.preventDefault();event.stopImmediatePropagation();var home=document.getElementById('home-section');var form=home.querySelector('form');function reveal(){form.scrollIntoView({behavior:'auto',block:'center'});var name=form.querySelector('input[type="text"]');if(name)name.focus({preventScroll:true});}if(home.classList.contains('active'))reveal();else{location.hash='home';setTimeout(reveal,1200);}},true);});if(new URLSearchParams(location.search).has("beta"))setTimeout(function(){document.getElementById("fmtesting").scrollIntoView()},1200);
Confirm your email
Still pending? Use the newest confirmation email. Resending replaces the previous confirmation link; it does not confirm your signup.
(()=>{ const contact=document.getElementById('form02');if(contact&&!document.getElementById('fmcontact-purpose')){const note=document.createElement('p');note.id='fmcontact-purpose';note.style.cssText='max-width:660px;margin:0 auto 24px;padding:0 24px;color:#092a3c;font:16px/1.65 Arial,sans-serif';note.append(document.createTextNode('This form is for questions and feedback. Sending a message does not join the waitlist or confirm your email. '));const jump=document.createElement('a');jump.href='https://fitmereach.com/?waitlist=1#fmaccess';jump.textContent='Join the waitlist';jump.style.color='#006da0';note.append(jump);contact.before(note);} const mount=document.getElementById('fmwaitlist-mount'),template=document.getElementById('fmwaitlist-template');if(!mount||!template||mount.querySelector('#fmwaitlist'))return;mount.append(template.content.cloneNode(true)); const root=mount.querySelector('#fmwaitlist'),form=root.querySelector('form'),status=root.querySelector('#fmwaitlist-status'),submit=root.querySelector('#fmwaitlist-submit'),school=root.querySelector('[name=school]'),student=root.querySelector('[name=student]'); const params=new URLSearchParams(location.search),source=params.get('source')==='instagram'?'instagram':'website';let action=params.get('wl_action'),token=params.get('wl_token'),busy=false; const say=(message,error=false)=>{status.hidden=false;status.textContent=message;status.dataset.error=String(error);status.setAttribute('role',error?'alert':'status');}; async function request(body){const controller=new AbortController(),timer=setTimeout(()=>controller.abort(),20000);try{const r=await fetch('https://npgtsxnjehtzyoktmolj.supabase.co/functions/v1/website-waitlist',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(body),signal:controller.signal,credentials:'omit',referrerPolicy:'no-referrer'});const data=await r.json().catch(()=>null);if(!r.ok)throw Error(data?.error||'The waitlist service is unavailable. Please retry.');if(!data||typeof data!=='object')throw Error('We could not verify the response. Your signup is not confirmed. Please retry.');return data;}finally{clearTimeout(timer);}} student.addEventListener('change',()=>{const yes=student.value==='yes';root.querySelector('#fmwaitlist-school-row').hidden=!yes;school.required=yes;if(!yes)school.value='';}); form.addEventListener('submit',async event=>{event.preventDefault();if(busy||!form.reportValidity())return;busy=true;submit.disabled=true;root.querySelector('#fmwaitlist-resend').disabled=true;root.querySelector('#fmwaitlist-retry').hidden=false;submit.textContent='Sending confirmation...';say('Sending your confirmation email...');const values=Object.fromEntries(new FormData(form));try{const data=await request({...values,action:'signup',age15:form.elements.age15.checked,consent:form.elements.consent.checked,source});if(data.status!=='pending'||data.emailAccepted!==true||data.registrationSaved!==true||!data.messageId)throw Error('We could not verify that the confirmation email was accepted. Your signup is not confirmed. Please retry.');say(data.message);root.querySelector('#fmwaitlist-retry').hidden=false;}catch(error){say(error.name==='AbortError'?'The request took too long. Your form is retained. Check your email before retrying.':error.message,true);}finally{busy=false;submit.disabled=false;submit.textContent='Send my confirmation email';root.querySelector('#fmwaitlist-resend').disabled=false;}}); root.querySelector('#fmwaitlist-resend').addEventListener('click',()=>{if(!busy)form.requestSubmit();}); root.querySelector('#fmwaitlist-correct').addEventListener('click',()=>{if(busy)return;form.hidden=false;const field=form.querySelector('[name=email]');field.focus();field.select();say('Correct your email above, then tap Send my confirmation email. Your signup is not confirmed until you complete the email and website steps.');}); const link=root.querySelector('#fmwaitlist-link'),confirm=root.querySelector('#fmwaitlist-confirm'); root.querySelector('#fmwaitlist-show-form').addEventListener('click',()=>{if(busy)return;link.hidden=true;form.hidden=false;status.hidden=true;action=null;token=null;const url=new URL(location.href);url.searchParams.delete('wl_token');url.searchParams.delete('wl_action');history.replaceState(null,'',url);}); if(action&&!(['confirm','unsubscribe'].includes(action)&&token&&/^[a-f0-9]{64}$/.test(token))){say('This link is incomplete or invalid. Use the signup form to request a new confirmation email.',true);action=null;token=null;} if(['confirm','unsubscribe'].includes(action)&&token){form.hidden=true;link.hidden=false;root.querySelector('#fmwaitlist-link-title').textContent=action==='confirm'?'Confirm your FitMeReach signup':'Unsubscribe from FitMeReach';root.querySelector('#fmwaitlist-link-copy').textContent=action==='confirm'?'Tap below to confirm your email and complete your waitlist signup.':'Tap below to stop receiving waitlist updates.';confirm.textContent=action==='confirm'?'Confirm my email':'Unsubscribe';confirm.addEventListener('click',async()=>{if(busy)return;busy=true;confirm.disabled=true;say('Please wait...');try{const data=await request({action,token});if(action==='confirm'&&(data.status!=='confirmed'||data.confirmed!==true))throw Error('We could not verify confirmation. Please retry.');if(action==='unsubscribe'&&data.status!=='unsubscribed')throw Error('We could not verify unsubscribe. Please retry.');say(data.message);if(action==='confirm')root.querySelector('#fmwaitlist-link-title').textContent='You’re on the waitlist!';confirm.hidden=true;const url=new URL(location.href);url.searchParams.delete('wl_token');url.searchParams.delete('wl_action');history.replaceState(null,'',url);token=null;}catch(error){say(error.name==='AbortError'?'The request took too long. Please retry.':error.message,true);}finally{busy=false;confirm.disabled=false;}});} if(params.has('waitlist')||action){setTimeout(()=>document.getElementById('fmaccess')?.scrollIntoView({block:'start'}),600);} })();
A community built through shared activities.FitMeReach was born from a challenge Dady experienced personally: finding people to play sports, work out or explore activities with was often harder than it should be.People can live nearby and share the same interests without having an easy way to find each other. FitMeReach aims to help everyday athletes connect, chat and turn those shared interests into activities together.Dady is a two-time Iowa state amateur boxing champion and lifelong sports enthusiast. His community-building work at the University of Iowa helped shape this vision. The idea began in 2017, and in January 2021 he committed to developing it into a product.Today, FitMeReach’s free beta is available for testing in Iowa on Android and iPhone. Outside Iowa? Join the waitlist for future access. The mission remains the same: make your sports community easier to reach.Where the vision startedThe 2019 campaign video below shares an early example of that community-building vision.
Thanks for your question or feedback. Sending a message does not join the waitlist, confirm your email, or change your waitlist status.To join, open the waitlist form and complete all three steps.
For ages 15 and up.Free beta testing is now available in Iowa on Android and iPhone. Get the beta and follow the installation instructions.Outside Iowa? Testing is not available in your area yet. Join the waitlist for future availability. Personal and school emails are welcome. Confirm your email to complete signup. Waitlist signup does not create an app account or grant access.Use our existing contact form for questions and feedback.
FitMeReach V0.1 tester guide1. Start with the eligibility and account flow available in your installed build. Set up a profile and choose your interests.2. Explore Discover profiles and Events. Try search, filters and switching views. Tell us whether people and activities are easy to find.3. Check navigation and available chat screens. Sample profiles, events and preview interactions may be local demonstrations, not real people, messages or reservations.4. Report confusing wording, missing feedback or unexpected behavior through the contact form. Include device, app version, steps and expected result.Features depend on the verified build you receive. We are refining V0.1 and do not promise specific feature delivery dates. See the tester hub for installation status.
Thank you for helping shape FitMeReach.Free beta testing is currently Iowa-only, for ages 15 and up.Iowa testers: open the Get FitMeReach section for the Android download and iPhone TestFlight invitation, with installation instructions.Already installed? Update without uninstalling first so you can keep your existing app data.Outside Iowa? Testing is not available in your area yet. Join the waitlist for future access and help spread the word.When reporting a problem, include your device, operating system, app version, steps and expected result. Send questions and feedback through our existing contact form.
Explore activities thoughtfully.Discover Events is being refined in FitMeReach V0.1. Some events and join actions in previews are samples and do not reserve real spots.Before attending a real activity, confirm the organizer, location, time, skill level and any costs directly. Read the details and ask questions when something is unclear.Testers: explore search, filters, event details and the available creation flow. Report unclear instructions or unexpected behavior through the contact form. Include your device and app version.Feature availability depends on your verified build. Return to the tester hub for current information.