Inspiration
Hundred-page booklets of legalese and incomprehensible language are the status quo of discovering government benefits, especially for veterans. While numerous resources exists at every level--federal, state, local, and community organizations--it's often hard for those who served our country to connect with those who are waiting to serve them. Based on the challenges presented by our challenge sponsors at The Servant Center, we set out to build a technology that would disrupt the paradigm of connecting veterans with the resources they need.
What it does
With NarrowDown, veterans and their supporters can jump right in to a list of resources in their area. Rather than overwhelming users with lengthy interviews, NarrowDown opens with real opportunities in just a few seconds, allowing the user to drive the pace of providing additional information about their needs and refining search results. Users can select various tags, which represent categories and attributes such as "housing" or "disability inclusive." This filtering is performed in browser, allowing users to quickly preview the effects of their selections without incurring latency on mobile connections or unnecessary database load.
How we built it
We use the global, cloud-hosted DynamoDB service provided by Amazon Web Services to host an up-to-date, continually online database of resources and opportunities. DynamoDB allows us to keep pricing simple and deliver predictable value per dollar, avoiding the high fixed costs of an on-premises SQL database solution. Our React single-page app runs on almost any browser and gives us the flexibility to deliver a flexible, responsive UI with our innovative tag-driven UX. Ultimately, we used modern technologies to quickly iterate and overcome shortcomings in our fast-paced development sprint.
Challenges we ran into
We initially planned to use a cloud-hosted PostgreSQL instance and a .NET Core 3.0 API as our backend, However, the WiFi only allowed ports 80/443 to be used which created numerous problems in getting shell access to VMs and in accessing our database server from dev/test code on our laptops. Additionally, the fixed schema of SQL and REST APIs made it harder to iterate and test out different data models. With the key-value store model embraced by DynamoDB, we can access our database directly using a read-only IAM credential, and.bypass the need for an API server entirely. We have the ability to reconfigure the JSON-based schema at any time, reducing friction in deploying new features and updates.
Accomplishments that we're proud of
We build a high-quality, performant web application that can reach veterans and their supporters on any modern platform: iOS, Android, Windows, macOS, or Linux. Rather than building profiles of private information, our tool does not send any data beyond general location to our server, so veterans know their privacy is protected. Most of all, we're proud of overcoming numerous setbacks and pushing hard to ship a quality product on time for our clients.
What we learned
We learned a lot about team management and dynamics--we spent too much time debating complex DB modelling issues up front before all subteams had a chance to fully evaluate the implications of those decisions on their code. Additionally, we were able to re-calibrate our time estimates and better understand the need for regular team standups to keep subteams in sync. This was a great professional development opportunity for all of us at Team OwlLinc!
What's next for NarrowDown
First, we would evaluate the expected load on the service to determine the appropriate DynamoDB pricing model and tier. Our next steps are to add "smart answers" for particular searches where our typical approach isn't appropriate--for example, we could refer veterans in need to a support/crisis line, or offer a wizard UX for a common, fact-dependent question (ex. "Am I eligible for the VA mortgage guarantee?" Lastly, we would build in authentication using AWS Cogito, which can grant ephemeral access tokens to DynamoDB in place of an IAM credential.
Thank you so much to The Servant Center, Lincoln Financial Group, and Mindtree for their sponsorship of #CodeLinc 6 and their support for our community every day!
Built With
- amazon-web-services
- dynamo
- react

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