Home Mortgage Disclore Act explorer

Usage no npm install needed!

<script type="module">
  import hmdaExplorer from '';


Home Mortgage Disclosure Act Build Status

A single-page application for exploring HMDA data served from Qu. This code is live at

Home Mortgage Disclosure Act


View the documented source code (use the top right menu).


Follow the steps below to get your environment set up. grunt build will create a dist directory. Copy the contents of dist to wherever you want the app to live.

By default, this app will serve data from If you'd like to use a different endpoint, build the app with an endpoint flag: grunt build --endpoint=


Running the site locally

Please use the fork and pull collaborative model.

  1. Install Node and Grunt.
  2. Fork this repo to your personal GH account.
  3. Fork the hmda-tech repo to your personal GH account.
  4. git clone
  5. cd hmda-explorer
  6. npm install
  7. bower install
  8. cd src/static
  9. mkdir json
  10. cd json
  11. git clone
  12. cd ../../../
  13. grunt build
  14. grunt
  15. Open localhost:8000 in a browser.

Only edit files in src. When anything is changed, Grunt will lint, test, compile and build everything. Refresh localhost:8000 to see your changes.

In lieu of a formal styleguide, take care to maintain the existing coding style.

Tagging releases

  1. Add a new version to the top of CHANGELOG with today's date and a list of changes. Use semver.
  2. Run grunt docs. This will generate some docs and run grunt-cfpb-internal.
  3. Push the tag to GitHub with git push upstream --tags.

Release History

  • 2016-12-10   v2.4.3   Update Google Tag Manager snippet.
  • 2016-12-05   v2.4.2   Resolves an issue with an incorrectly scoped localStorage function.
  • 2016-11-08   v2.4.1   Resolves an issue with deprecated analytics tracker.
  • 2016-11-01   v2.4.0   Adds an announcement about 2017 data and the DES tool.
  • 2016-09-29   v2.3.1   A small update to one of the URLs.
  • 2016-09-29   v2.3.0   Incorporated 2015 HMDA data Updated alert formatting / wording Bugfixes for census tracts URL parameters.
  • 2016-07-21   v2.2.2   Remove old contact phone number.
  • 2016-02-19   v2.1.5   Added in branding elements for the FFIEC.
  • 2016-02-17   v2.1.4   Added 2017 and 2018 file specifications for hmda filers. Updated content on for-filers page.
  • 2016-01-21   v2.1.3   Fixed release tag. Updated code docs.
  • 2016-01-20   v2.1.2   Added a section that describes the Consumer Complaint Database. Updated contributing docs.
  • 2015-10-09   v2.1.1   content and link changes for filers
  • 2015-10-05   v2.1.0   Added content for filers; links to, list of fields for future hmda filing (requires the hmda-tech repo)
  • 2015-09-22   v2.0.0   Updated with HMDA 2014 data and text! Added alerts about MSA changes.
  • 2015-06-03   v1.1.2   Updates CONTRIBUTING docs to include tagging steps. Remove deprecated mogotest steps from gruntfile.
  • 2015-05-26   v1.1.1   Fixes out-of-sequence CBSAs on homepage charts.
  • 2014-09-18   v1.1.0   Updated charts, maps and copy with 2013 changes. Updated Explorer to route to static .zip files where efficient. Changed census query location filter to reflect mapping to county. Style / copy updates to navigation and footer.
  • 2014-09-11   v1.0.1   Updated location filters to group state and county properly. Added display fixes to axes labels, mobile rendering. Updated map layers to load lazily to speed load times.
  • 2014-06-13   v1.0.0   Add endpoint build flag for internal testing. Update Learn More content.
  • 2014-04-20   v0.19.3   Prep code for open source release.
  • 2014-02-20   v0.19.2   Add bind() polyfill to homepage to aid automated testing.
  • 2014-02-10   v0.19.1   Remove census tract from summary tables.
  • 2014-02-06   v0.19.0   Improve usability of file size estimation (#466).
  • 2014-01-07   v0.18.7   Update GA nomenclature.
  • 2014-01-07   v0.18.6   Roll back icon font.
  • 2014-01-06   v0.18.5   Improve URL param sanitization.
  • 2013-12-31   v0.18.4   Include year in reset filters (#458).
  • 2013-12-16   v0.18.3   Remove lender name text (#452). Make 'calculate by' dropdown more verbose (#423). Improve file size estimation accuracy (#379).
  • 2013-12-10   v0.18.2   Add the reset button back.
  • 2013-11-27   v0.18.1   Improve charts' UX (#333).
  • 2013-11-25   v0.18.0   Add suggested filters (#438).
  • 2013-10-24   v0.17.2   Properly coerce loan amounts (#408). Correctly fire download tooltips (#415).
  • 2013-10-20   v0.17.1   Improved caching (#373), error handling and file size estimation. Disable download button if record count is zero (#380).
  • 2013-10-10   v0.16.2   Include rate spread in loan description section (#38).
  • 2013-10-07   v0.16.1   Purge dist directories. Update readme accordingly.
  • 2013-10-06   v0.16.0   Break pages into HTML partials and Markdown files. Remove build artifacts from repo.
  • 2013-09-20   v0.15.2   Swap chart columns. Hack map ready event listener for IE8.
  • 2013-09-18   v0.15.1   Fix MSAs in charts. Refactor summary table page to work with API changes.
  • 2013-09-17   v0.15.0   Bajillion tweaks in preparation for Plan B release.
  • 2013-09-08   v0.14.1   Improve mobile experience. Add layers to homepage map.
  • 2013-09-07   v0.14.0   Restructuring for Plan B. Whole lotta improvements to the static pages.
  • 2013-09-03   v0.13.0   New summary table button. Permalinkin' the summary table.
  • 2013-09-01   v0.12.1   Update icons and links. Add coverage capabilities and data-driven testing.
  • 2013-08-28   v0.12.0   New lender section. New census tract functionality. Bug fixes galore.
  • 2013-08-27   v0.11.2   Debounce explore page interactions (#90).
  • 2013-08-26   v0.11.1   Improve tests and documentation. Add charts to homepage.
  • 2013-08-13   v0.11.0   Give up on an AJAX request after X seconds have passed. Ability to download summary tables.
  • 2013-08-10   v0.10.3   Loading visualizations for dependent fields. Homepage clean up.
  • 2013-08-08   v0.10.2   Itty-bitty hashchange router implemented.
  • 2013-08-07   v0.10.1   Summary table improvements galore.
  • 2013-08-06   v0.10.0   Summary tables brought into the explore page.
  • 2013-08-05   v0.9.2   Add state/msa mutual exclusiveness.
  • 2013-08-04   v0.9.1   Improve serialization of location params.
  • 2013-08-02   v0.9.0   New location section functionality. Moved templates into JST using grunt-contrib-jst task.
  • 2013-08-01   v0.8.1   Fix preview table bug that returned wrong number of columns.
  • 2013-07-31   v0.8.0   Initial NLW implementation.
  • 2013-07-31   v0.7.4   Add Co-Applicant toggle. Add CFPB logo.
  • 2013-07-30   v0.7.3   Use ZeroClipboard to save share URL to clipboard.
  • 2013-07-29   v0.7.2   Memoize AJAX requests. Add section toggle to explore page header.
  • 2013-07-24   v0.7.1   Section parameter is properly stored in sharing URL hash.
  • 2013-07-23   v0.7.0   Popular filters section w/ synchronizing toggle.
  • 2013-07-22   v0.6.0   Initial preview table implementation. Initial summary table implementation.
  • 2013-07-19   v0.5.2   Icons and sugar.
  • 2013-07-18   v0.5.1   Connect dependent dropdowns to concept data endpoints.
  • 2013-07-17   v0.5.0   Beef up testing suite. Fix text input caching bug. Change location of HTML files.
  • 2013-07-16   v0.4.1   Dependent fields are properly enabled/disabled.
  • 2013-07-15   v0.4.0   Help tooltips. Form styling. Chosen JS implementation.
  • 2013-07-12   v0.3.0   Modularize all JavaScript. Add hash deparam feature. Ability to set DOM fields from params hash.
  • 2013-07-10   v0.2.0   Asynchronously populate field options. Field dependency management.
  • 2013-07-09   v0.1.6   Initial URL building methods. General refactoring.
  • 2013-07-08   v0.1.3   Add global observer.
  • 2013-07-06   v0.1.1   Configure build process.
  • 2013-07-05   v0.1.0   Initial commit of static version (forked from backbone branch).


The project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Software source code previously released under an open source license and then modified by CFPB staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open-source license.

For further details, please see:

This file was generated on Fri Dec 09 2016 13:48:17.