Social Networks

Follow sproutworks on Twitter
Enter your Email

Powered by FeedBlitz

RSS Feed


Blogshares Links

The BlogShares fantasy blog stock market.

BlogShares Price Tracker
I wrote this program to archive information from the BlogShares fantasy stock market. You can view graphs of any industry, and analyze your portfolio.

SproutWorks Projects

Digg Archive
A new experimental Digg page.
AJAX Pixel Editor
A Collaborative pixel editor currently in development.
Web promotion links
These tools help you get visitors on your website.
My photography Site
I designed this blog indexing tool, and it has accumulated over 6 million blogs so far.
Some of the programs I've written.
SproutTree Demo
A demo of a tree-drawing PHP script.
My Gallery

Sign In

Remember Me

sprout man
What is SproutWorks?

Hi, I am Brandon Smith, the creator of SproutWorks. Welcome to my core website. What you see here is a showcase of computer related work that I have done over the years. I have been writing software for about the last 17 years, since I got my first computer at the age of 10. This site contains galleries, a search engines, forums, a chat room, a code viewer, and other programs I have created.

This website operates with about 25,000 lines of code that I've written in PHP. I use MySQL for my database backend.

The SproutWorks forums are being designed to facilitate blogging and integration of multimedia. Create an account and write in a SproutWorks blog today!

PalmOS users can download SproutPaint, a color and greyscale painting application. SproutPaint was designed for performance and graphic diversity.

SproutWorks is powered by the SproutWorks Content Management System, which is written in PHP. The code is organized in modular pieces which are frequently updated.

Pieces of SproutWorks

Many programs (roughly 300) work together to create the SproutWorks website. Each program is a PHP script which processes a small section on the site.

Blog Directory

This directory and search engine contains an index of over 3 million blogs created at

Template Manager

The template manger takes a template file, which is written in HTML, and inserts the dynamic contents of that page. The contents are generated from the other programs the template requires.

Top Level Page Manager

This program organizes information that must appear on every page, such as headers and meta tag information. It acts as a wrapper around the whole website.


Performs timing operations for benchmarking or statistics.


Some new JavaScript programs have been written to provide more fluid downloads from the server. Under the PHP clock script, a box display the number of seconds you have been viewing the current page, and the total time spent on SproutWorks. It uses a relatively new object called XMLHTTPRequest. XMLHTTPRequest represents a growing trend of websites that perform more efficient loading of resources. Google's gmail uses this extensively to speed up the user interface.

Gradient generator

The gradient generator can generate gradients randomly, or from a list of colors. It makes one or two dimensional gradients by interpolating a color value for each pixel in the image. 256 sample gradients

PHP source code viewer

Selected SproutWorks source code is viewable online through the source code viewer.

SproutWorks Source Code Viewer


SproutWorks Gallery displays images in directories, auto thumbnails images, and makes a catalog image for each directory.


SproutWorks Chat is a fast and efficient web chat system. It is being designed to avoid slow refreshing pages, common in web based chat systems. The client is programmed in JavaScript, which can load quickly and has minimal overhead. The relatively new XMLHTTPRequest object (created by Microsoft of all people), allows JavaScript to request information as it needs it. This results in sigificantly less bandwidth used, and a faster response time.

The back-end is programmed in PHP/MySQL. It sends data the JavaScript client requests, and manages chat archival. The server keeps track of the state of each client, so it only sends data that needs to be updated.


The SproutWorks forums feature a custom design that displays messages in a threaded format. A picture can be attached to each message.


The SproutWorks Links system displays a list of links with thumbnails for some sites.

Web Forms

A form class handles the rendering of forms as HTML, and also processes input from the form. Errors in the form input are displayed. A validation class determines if an input is a valid match for it's datatype.


Foundphotos is an automated image archiving program that collects pictures from foundphotos (click). It uses the SproutWorks HTML Parser program to find the images. The program downloads the images and thumbnails them. Another program creates a contact sheet of each gallery.

Graphical Programs

Sproutworks uses some programs which analyze or generate graphical data.


This is a live demonstation of SproutTree, a PHP tree generation program. If you reload this page, this program will draw a brand new set of trees for you. This program is written with a simple recursive branch drawing algorithm with random branching probabilites and branch length. If you would like to use SproutTree on your site, please enquire via the contact form on this site.

Gradient Generator

This is a sample of gradients generated with the SproutWorks Gradient Generator. This program can generate a virtually limitless collection of gradients.