Update: We now support custom layouts for different device sizes: https://help.snapwidget.com/creating-a-new-widget/pro-widget-advanced-settings/how-do-i-configure-specific-widget-layouts-based-on-display-size
Yes, SnapWidget works on responsive websites. With the Grid and Board widget types, there is a responsive option that you can enable that will allow the widget to shrink and grow with the size of your website.
If you want the grid to stack the images, you will need to use CSS media queries to show / hide different widgets based on the screen size.
The basic steps to get this working is:
1. Create a widget for each screen size you would like to support (for example, a widget for Desktop that shows 4 columns and a widget for Mobile that shows 2 columns)
2. Add both these widgets to your website and wrap them in a div that has a CSS class of desktop or mobile.
3. Use CSS media queries to show / hide the div based on screen size.
Here is a code sample that shows how this can be done: http://codepen.io/hermanschutte/pen/kkmVzO. You will see the different widgets display as you enlarge or reduce the screen size.