Inspiration
We work exclusively with charities and non-profits, often on incredibly tight timescales and budgets because the sector is under a lot of pressure. When building projects in this space the focus is always on delivering lots of value, and so we have focus on features. Usually at the end of a project we hit a snag... even when working in an agile way and with awareness of needing to measure effectiveness or usage, often the recording of metrics is lower in the charity priority list than the service itself - makes sense! They put their own needs last.
Often what happens is we're told to add Google Analytics to a project in the hope the charity will get some data out. The difficulty is that this opens a lengthy GDPR conversation, or an explaination around why cookie noticies will be needed, and it all creates a lot of extra mental load for the charity side. Our sites are all hosted with AWS, and it always felt like there was a better way.
We wanted to see if we could use this challenge as a way to solve this pain or charities.
_ Enter funnelytics... _
What it is, what it does
- A really simple workflow that makes best use of AWS services to stay lean
- It's a Lambda endpoint that lets us submit data to visualise in Quicksight
- The core is only 46 lines of Python, so its really easy to change the needs for each project
- The workflow is flexible, we can use either S3 or Dynamo depending on project needs
- Charities often need clearer metrics rather than a kitchen sink approach, a few KPIs of real usage help charities make better decisions without overwhelming them with options, or having to learn how to set up goals.
How I built it
- A serverless Lambda project receives 'hit' or event data from the client side code in the project.
- That data is stored in either S3 or DynamoDB
- Athena then processes that data, making it easy to manage as a source for Quicksight
- Quicksight can then be used to visualise the data for the charity
- Huzzah! we can now spin up a new analytics project in minutes, and don't have to compromise or bombard users in crisis with lots of extra popups about privacy.
Challenges I ran into
- With more time I'd adapt the serverless deployment to also setup the other properties so it truly becomes a commodity to easily deploy.
Accomplishments that I'm proud of
- This really does harness a lot of value that AWS offers, making the core of the concept fast to build and easy to maintain
- I wasn't sure if pulling this all together was possible, but it was! Feels good.
What I learned
- There was a lot of learning I had to do in the selection of AWS services, there's lots of ways to approach this, with services like Lambda, Glue, Athena and DynamoDB meaning there are lots of routes to take.
- This challenge created the drive to learn a route through, rather than suspecting it could be built, now it is!
What's next for Funnelytics
- Now this isn't going to hurt our team to get analytics into projects, we're planning to use it with a chartity this month!

Log in or sign up for Devpost to join the conversation.