There were some errors in code shown in the screenshot. I tried to tidy up the code and did some copy and paste before I did the snipping.
I figured out why the buffer was not drawn:
It was because of the projection, the input feature needs to be projected. (the documentation of the API needs to be improved, I have to dive into their source code to find the acceptable input feature types ... )
Here is the working code:
Use the default coordinate system (4326)
sr= {"wkid": 102100, "latestWkid": 3857}
sr2={"wkid":4326}
#Adelaide = geocode("Adelaide, South Australia",out_sr=sr,as_featureset=False)[0]
Adelaide = geocode("Adelaide, South Australia")[0]
map1.height = '650px'
map1.center=(Adelaide['location']['y'],Adelaide['location']['x'])
map1.zoom=14
p=Point(Adelaide['location'])
map1.clear_graphics()
symbol = {"angle":0,"xoffset":0,"yoffset":0,"type":"esriPMS","url":"http://static.arcgis.com/images/Symbols/Basic/RedSphere.png",
"contentType":"image/png","width":24,"height":24}
#draw the point
map1.draw(p,symbol=symbol)
#important, project the location before buffering
_p=project([p],in_sr=sr2,out_sr=sr)[0]
fill={"type": "esriSFS", "style": "esriSFSSolid", "color": [255,0,0,255]}
buf=buffer(geometries=[_p],in_sr=sr,distances=[500],unit='Meters')
#this is the key
buf[0]['spatialReference']=sr
f=Feature(buf[0])
fset=FeatureSet([f],spatial_reference=sr)
map1.clear_graphics()
map1.draw(fset,symbol=fill)
map1.draw(p,symbol=symbol)