New mobile-friendly website under construction behind the link. Right now most of the internal links will take you back to the old Web 1.0 site.

Stormy Nights contemporary gay romance

Current news

14 May 2018: I'm switching the site over to WordPress hosting. Loose Id closed last week, and all of my Loose Id titles are out of print, so I'll be updating all the pages for the books as part of the move. It'll take a little while, so parts of the site will be out of date.

24 July 2017: A collection of some of my short stories Stormy Nights has been published by NineStar Press. It includes stories from both pen names, including the Romance Review Top Pick And if I offered thee a bargain. More details including purchase links at Storm Duffy's website.

2 January 2017: I've sold a short story series to NineStar Press, and the opening story is now available. You can find more about A Collision With Reality, including an excerpt, at the NineStar Press website. Yes, that is a new pen name on the cover.

2 June 2014: The Dreamspinner Press anthology Not Quite Shakespeare, was published in both ebook format (ISBN-13 978-1-63216-020-1) and trade paperback (ISBN-13 978-1-63216-019-5). It's now out of print, but you may be able to find secondhand copies of the paperback on Amazon etc. (Paperback's's page on Amazon UK, Amazon US.)

17 April 2014: I have a short story in Barbara Cardy's Mammoth Book of Urban Erotic Confessions, out today in the UK, and scheduled for June 2014 in the US.

11 November 2013: The Romance Review Top Pick from The Romance Review for And if I offered thee a bargain. :-) (Currently out of print as a standalone, but included in the Stormy Nights anthology from NineStar Press.)

18 April 2013: My short story A Sparrow Flies Through has been published in Maxim Jakubowski's Mammoth Book of Erotic Quickies. Purchase links for Amazon UK, and Amazon US.


You can email me at my gmail account and my main blog is on Dreamwidth.

I'm also on various other social networking sites, and you can find more details on the contact page.