Hi, I'm Stephen.

Hi. My name is Stephen Poletto. I'm a software engineer and recent graduate of Brown University. I currently work on the iOS team at Dropbox.

I'm interested in building impactful software. I believe code is written for other human beings, and only incidentally for machines to execute.


Featured in "New & Noteworthy" and "What's Hot" on the iOS App Store.

Billr is the quickest way to split the bill and calculate the tip at restaurants and bars.

  1. Pick your party size -- up to 16 people!
  2. List the cost of each dish.
  3. Set the tax and tip amounts.
  4. Show each person what they owe on your phone, or send them a copy of the split bill by text message or email.

Billr: A feature-complete tip calculator and check splitting utility for iPhone and iPod Touch.


SquareQuote is the easiest way to create and share beautiful quotes.

Hear a friend say something quotable? Read a brilliant line in a book? Save it in a beautiful, visual format with SquareQuote.

  1. Type in the quote
  2. Type in the name of the person who authored the quote
  3. Design your SquareQuote by choosing a custom background image and positioning and styling the text
  4. Publish it to your Facebook Timeline or save it privately just for yourself

Browse curated collections of funny quotes, inspirational quotes, and the quotes your Facebook friends have created. Share quotes via Tumblr, SMS, email and Twitter.


Kleio is an online experiment in revitalizing the high school history textbook.

Kleio is centered on exploration and historical inquiry. Content is structured into digestible chunks on different "cards," each of which begins with a prompt question and a primary source for students to read, view or listen to. To gauge student learning, each set of cards ends with multiple-choice prompts, and each section features paragraph-response questions. Teachers can log in to customize the content their students see, review student responses to prompts, and track individual student progress.

Xcode 4

I spent two summers interning on the Developer Tools team at Apple. In addition to performing maintenance work on the codebase, I contributed two new features to Xcode 4.

1. Connections Annotations

iOS and Mac developers use IBActions and IBOutlets to establish connections between their Interface Builder documents and source code.

In summer 2011, I added a feature that allows developers to view which connections have already been established by looking in the gutter of their source code editor.

Developers can use these annotations to find the Interface Builder object to which a variable is connected. These annotations are also useful in identifying which IBOutlets and IBActions have not yet been connected. Forgetting to establish a connection is a common mistake for beginner iOS developers.

2. Connect-to-Source and Keypath Resolution for Cocoa Bindings

Cocoa Bindings allow Mac developers to keep their view and model in sync. As the user interacts with a bindings-driven application, changes are automatically propagated to the underlying model without the developer needing write additional "glue code."

In summer 2010, I added a feature that allows developers to control-drag from an object in Interface Builder to their source code in order to establish a binding. After the developer has made the connection, Xcode displays a dialog used to configure the binding.

When the developer is configuring a newly established binding, a simple mistake can lead to a long debugging process. To reduce developer error, I added key path resolution and validation to both the configuration popover and the bindings inspector. These features assist the developer by auto-completing specified key paths and providing visual confirmation that an entered key path is correct.

Open Source Projects

I have a number of open source projects on Github.

  1. iOS-HTML5-Tethering is a simple attempt to provide connectivity to a laptop in need of internet via a websocket-enabled smartphone browser.
  2. Arke is a JavaScript implementation of Google’s MapReduce. Rather than running on a fixed cluster in a data center like most distributed computational frameworks, Arke relies on the computing power of individual browsers across the open Internet. Volunteers connect to Arke’s web application, offering their web browser engine as a worker in the system.
  3. SPUserResizableView is a user-resizable, user-repositionable UIView subclass. It is modeled after the resizable image view from the Pages iOS app. Any UIView can be provided as the content view for the SPUserResizableView. As the view is respositioned and resized, setFrame: will be called on the content view accordingly.
  4. SPGooglePlacesAutocomplete is a simple objective-c wrapper around the Google Places Autocomplete API.
  5. SquareQuote: I decided to open source the full source code for SquareQuote in hope it might be useful for others in the iOS developer community.