ChiPy Mentorship — Jumping in the deep end of WebDev
A passion project outside my experience and expertise.
Mei is 5. My sweet daughter loves swimming, tofu and her pink scooter. She adopts a British accent when she quotes Peppa Pig. She is autistic.
When Mei turned three we embarked on a nearly 1 year journey to get her diagnosis and contract the services she needed. There are hundreds of potential services including government, hospitals, schools and therapists. There are many schools of thought on what types of services are best. There are studies, articles, blogs, and posts spanning all aspects of the disorder itself and the related therapies. Sorting through that information while also learning as much as possible about Autism Spectrum Disorder (ASD) is difficult and time consuming.
My wife of nearly 14 years took on the job to get Mei the care she needed. It was nearly a full time job as she educated herself, found doctors, researched the many programs and therapies and found the insurance and money to pay for it all. I’m grateful that we had the resources, ability and time to get Mei to the very good place she is in 2 years later. We love her school and her therapists, we see great progress and most importantly we have a happy girl growing up well.
A few months ago as Kimi wondered what people that come up a little short on resources, ability or time do when faced with the same situation. This is the start of Chicago Autism Network.
Chicago Autism Network
The mission of the Chicago Autism Network is connecting families affected by autism with the resources to help them. After Mei’s diagnosis we, a dance major and a finance guy, suddenly needed to know a lot about Autism. We didn’t even know where to start to look for resources.
Kimi decided to try to help with at least a piece of this problem. The start would be a website featuring a curated map of schools, doctors, therapists, and business that serve the autism community. Searchable, filterable and extendable hopefully this will improve on the often outdated and difficult to use lists commonly found on other websites. Secondly it will feature stories and guides provided by parents, medical professionals, and people with autism. Lastly, it will include a way to interact with the resource database or guides via SMS. Research shows that in particular low-income families are more likely to engage and have better outcomes if they can connect via SMS.
The Chicago Autism Network has more goals around fundraising and grants for families that need services, but for now, this is where we will start. My contribution to this family business is the website. There is only one problem, I’m not a web developer.
ChiPy Mentorship Program
While it would be more ideal to hire a developer to build the site, given where we are it made more sense for me to contribute time. Luckily at about the same time as this development project was going to commence, the mentorship program started accepting applications. I applied and here we are.
The Chicago Python Users Group (ChiPy) supports what is sometimes referred to as a world class mentorship program. They pair aspiring developers in one of 3 tracks — Py101, WebDev, or Data Science- with a mentor. My mentor is Joe Ravesloot. Over 3 months we work on a project, write 3 blogs (this is my 1st) and give a presentation final.
From a technical perspective what I proposed above could be broken down as follows.
- A CMS engine to house the stories and guides
- A database of resources tagged with geographic coordinates and metadata
- A map that renders the resources and accepts user inputs including search
- An application that will receive and interpret SMS and send responses.
In the initial conversations with my mentor Joe, we started to talk about the bigger picture. Here are some of my thoughts on that.
For hosting and prototyping we decided to start with Heroku. Heroku provides good hooks into Python and will make deploying the applications a bit easier. As part of the project I want to also understand more about deploying on AWS so I will research that independently.
For the backend framework we will use Django. It makes sense to me to use Django because of the CMS we need for the stories and guides. I have already spent some time nailing down the data model for a Django app. We will likely use Postgres for the site database.
For the front end, I will use bootstrap for most of the site. For the map I’m leaning toward leaflet.js. There seems to be pretty good documentation and some examples of leaflet with a Django backend.
For the database of resources, I’m less sure. Initially I would lean towards GeoJSON. Most mapping resources, including leaflet, seem to be built with GeoJSON in mind. I think you could also use a more generic nosql solution here, but don’t know enough yet to make that decision.
I’m very excited for the SMS engine. In fact we have already spent a good amount of time trying to model out the interactions. Have you ever thought about what goes into a good automated phone service? It’s that type of problem. For the app we will use the Twilio API. Twilio is a sponsor of this round of the mentorship program.
For the project in general, I hope to follow principles of test driven development. As I mentioned this is a bit daunting to me, but I figure - better to do it the right way first.
In the end I hope to deliver on at least some of the goals and learn enough that I know what I need help on and the type of person that can get that work done.
I’m very grateful for ChiPy, the mentorship program, the sponsors and particularly Joe for their contribution to this project. I’m excited for the next 3 months.