The question is, would anyone be interested in using code that looks like this? Just like this and does what it says it will do? Before I go any farther in extending Soapi.CS and Soapi.JS, I need to know if there is interest. Otherwise I will spend my time writing some apps. I am actively begging for constructive or informative feedback, positive *or* negative. Please. Sometimes it feels like I am writing in the wilderness. ;-( // what you see is what you would get. Imagine similar in JavaScript // while it looks like LINQ, it is not quite. I am simply planning to // use dynamic proxies (ala NHibernate) to lazy load from the API. ApiContext.Initialize(key); // initialize simply fetches all sites and prepares them with // the necessary data and functionality to serve as the root for // all queries for that site. // initialization is done on a static method and happens only once // for each appDomain. (appdomain is a scope of execution, // an application for example, NOT a web domain) ApiContext ctx = new ApiContext(); User codePoet = ctx.Sites("api.stackapps.com").User(14); foreach(Question q in codePoet.Questions()) { Console.WriteLine(q.Title); foreach(Answer a in q.Answers()) { Console.WriteLine(a.Owner.DisplayName + " " + a.Owner.Reputation)); } } // so you noticed the lazy loading in the expressions above - this is where it // gets more interesting.... IEnumerable<Question> codePoetsQuestionsOnStackOverflow = codePoet.UserAssociation.Users .First(u=>u.Site.SiteId=="api.stackoverflow.com").Questions(); // what you see is a navigation from my stackapps User up into // it's UserAssociation object (stackauth /users/{id}/associated), // finds the user who's site is stackoverflow and then returns all // of my stackoverflow questions. // Again, there are no strings - this code will run and give you exactly // what it says it will.