North Idaho Health was the result of a conversation on Discord with the owner looking for a front-end developer familiar with Astro. As it turns out, I spent the better part of 3 months working with Astro building out this website, and several years working with React before that. I chatted with the owner and we agreed the project felt like a good fit—so off to the races we went!
The front-page graphic of North Idaho Health
The idea was hinged upon a few ideas:
- People usually trust the healthcare recommendations of their circle of influence.
- Many of those recommendations are non-existent on the internet.
- Facebook is the go-to default for finding local recommendations, but most Facebook pages are pitifully sparse. (And… you know… Facebook. Ick.)
We felt confident that providing an online directory to easily find local organizations and to search the services they provide, was a killer idea. At first, the project was aimed exclusively at healthcare providers (hence the name), but eventually evolved to encompass a wider breadth of organizations. Furthermore, we were focusing on a very specific geographical region which made it different from most other websites. And so we began to build.
The project was built with React and TailwindCSS on top of Astro for a light-weight client with Typescript for type-safety.
I designed and built probably about 80% of the UI in this project. I took several components either directly, or as inspiration from the Tailwind UI project.
The newsletter page
Interesting Challenges
There were a few interesting challenges in this project.
Google Maps + GeoJSON
One of our requirements was ensuring that providers could easily show people where they operated. This went a bit further than just “Where are you located?” because many of the organizations didn’t have a brick-and-mortar location. Many of them were willing to travel quite a bit. But just how far would they travel?
Well, we used GeoJSON to show people:
The public-facing organization page was where users would see the information listed for an organization, including their areas of operation.
The multi-step form for adding your locations looked like this:
The geojson form build
We never got to implementing a way for people to “draw” their own GeoJSON, but it was in the cards.
Multi-Stage Form
Speaking of forms, we built a multi-stage form for creating new organizations. This approach was taken because the amount of information necessary to input for a new organization was kind of overwhelming. We suspected that breaking it into discrete steps might make it feel more manageable.
We grouped each bit of information logically, as best we could, and provided a full review at the end which showed the user exactly how their page would display to end users.
The multi-stage review page so that organization owners could see exactly what their page would look like before creating it.
An owner could have several organizations linked to their account:
Screenshot of the admin dashboard, with organizations, events, and account details.
Events
North Idaho Health supported community events that could be sponsored by an organization. Examples of such events might be blood drives, health awareness events, or group fitness activities. Or.. y’know.. slaying the Lizard King. ¯\(ツ)/¯
Future Plans
There were plans to support a “Jobs” feature which would allow local healthcare providers to hire directly within their community. Combined with a newsletter, this would provide a win-win for job-seekers and local health-related organizations.
Hindsight
The project was eventually shut down due to lack of interest from local businesses. Despite many verbal commits early-on, the project never secured enough paying clients to justify its existence. Paying customers are a very strong indicator to keep building. The inverse is also true.
Hindsight offers valuable lessons. Here are some key points that stand out to me.
-
Building the front-end in isolation from the back-end is a risk. During this project, I was exclusively working on the front-end, and sometimes this slowed my ability to ship code quickly. In the future, I’ll highlight this as a potential risk to the speed of delivery for a project.
-
Astro. I would hesitate to reach for Astro again given the requirements of the project. It made total sense in the beginning as we were building a completely-static site with no server. As time went on, Astro brought increasing friction to what should’ve just been a simple CRA client.
-
I would’ve actually kept the project as a simple static website for longer, if I were to redo this project. In fact, I would’ve left it as a static website until revenue began coming in. We gained very little on the business-side by implementing authentication, admin dashboards, and organization construction forms. In hindsight, we needed to beeline for revenue as quickly as possible.
-
I’m still bullish on local-first websites. I actually think this was the killer idea of the whole project. Websites that specifically cater to local businesses, and serve their interests in a way that is symbiotic with what local residents are searching for. It feels like what Google should be, in my opinion.
Full screenshot of the front page of North Idaho Health