
Nic Crane | The future's Shiny: Pioneering genomic medicine in R | Posit (2019)
Shiny’s expanding capabilities are rapidly transforming how it is used in an enterprise. This talk details the creation of a large-scale application, supporting hundreds of concurrent users, making use of the future and promises packages. The 100,000 genomes project is an ambitious exercise that follows on from the Human Genome Project - aiming to put the UK at the forefront of genomic medicine, with the NHS as the first health service in the world to offer precision medicine to patients with rare diseases and cancer. Data is at the heart of this project; not only the outputs of the genomic sequencing, but vast amounts of metadata used to track progress against the 100,000 genome target and the status and path of each case through the sample tracking pipeline. In order to make this data readily available to stakeholders, Shiny was used to create an application containing multiple interactive dashboards. A scaled-up version of the app is being rolled out in early 2019 to a much larger audience to support the National Genomics Informatics Service, with the challenge of creating a complex app capable of supporting so many users without grinding to a halt. In this talk, I will explain why Shiny was the obvious technology choice for this task, and discuss the design decisions which enabled this project's success. VIEW MATERIALS https://github.com/thisisnic/rstudio-conf-2019 About the Author Nic Crane Nic Crane is a Data Scientist at Elucidata, and has formerly worked for Mango Solutions and IBM. She is passionate about learning and teaching all things data science
image: thumbnail.jpg
Transcript#
This transcript was generated automatically and may contain errors.
Nick Crane, UK company Elucidata
Fy enw i yw Nick Crane ac rydw i'n gweithio ar gyfer cymdeithas y DU o'r enw Elucidata. Rydyn ni'n gweithio ar ddiwygio'r software sy'n ymwneud â'r ddata sain. Mae hynny'n golygu pethau fel productau'r software sy'n ymwneud â'r analytica, a'r ddata gwasanaethau sy'n ei wneud yn gyffredinol ac yn ddiogel.
Rydw i wedi defnyddio'r R am gyfran o bob awr ymlaen, ond rydw i wedi defnyddio'n rhan o'n swydd cyffredinol am ychydig flynedd. Felly, rydw i'n mynd i siarad â chi am y prosiect hon yma nawr, sy'n rhan o bwysig i mi fod yn un o'r prosiectau hwn. Yn y cyntaf, oherwydd rydw i'n cael gweld Shiny'n ymddangos i'r pwynt nad oeddwn yn meddwl ei fod yn gallu'i wneud, rydw i'n meddwl, fel rhywun sy'n gweithio mewn data, mae'n gyffredinol i ddod ar brosiectau lle mae hynny'n ddiddorol iawn i mi, ond yn y prosiect hon, mae hynny'n ddiddorol iawn.
Felly, rydw i'n mynd i ddechrau gan roi ychydig o gwirionedd am y prosiect, ac yna rydw i'n mynd i siarad am'r R am gyffredinol rydyn ni'n ei gynnal i'w cefnogi, ac rydw i'n mynd i ddechrau trwy mynd trwy rhai o'r wylion rydyn ni'n ddysgu pan roeddwn ni'n gynllunio'r gweithle.
Ond mewn gwirionedd, cyn i mi ddechrau, gallaf ddod o'r ffordd? Pwy yma wedi clywed am y prosiect Genome 100,000? Ychwanegwch eich dŵr. Iawn. Felly, mae llawer mwy i chi na'r hyn rydw i'n meddwl, ond rhai ohonoch chi ddim. Oh, diolch. Iawn, mae hwnnw wedi dod o'r ffordd.
Y prosiect Genome 100,000
Nid yw'n bwysig. Iawn, rhai ohonoch chi ddim wedi clywed am y prosiect. Felly, dwi'n mynd i ddechrau gan roi ychydig o hynny i chi, gan ddweud am un o'r rhain sy'n rhan o'r prosiect.
Felly, dyma Kate, dyma Simon, a'r un yng nghanol yw eu dŵr Jessica. Jessica yw 4 mlynedd oed. Pan ddechreuodd, roedd pethau'n mynd iawn, hyd yn oed pan oedd Jessica o ran 13 mlynedd o ffyrdd. Ac ar y pwynt hwnnw, sylweddodd Kate a Simon ei fod ddim yn mynd o'r ffyrdd fel llawer o blant eraill. Ac, yn anffodus, fe ddechreuodd hefyd cael ystafellau. Felly, yn amlwg, roedden nhw'n fwriad iawn ac roedden nhw eisiau gwybod beth oedd yn digwydd. Dechreuodd y byddai Jessica yn cael sylweddol o'r syndrome glut1. A beth mae hynny'n golygu yw nad yw'r rhain yn cael ddigon o glucos neu energia.
Nawr, dyma ddysg hawdd ac mae'n gallu cael ei hyrwyddo gan ddiet arbennig, ond mae'r broblem gyda hynny yw i'w hyrwyddo, mae'n rhaid i ni gael y diagnosi. Ac yn ddiogelwyr fel hyn, gyda'r dysgau rhaid, mae'n cymryd, ar gyfer arbennig, tri diagnosi anhygoel a chware blynedd i ddod i'r diagnosi penodol. Felly, yn amlwg, mae hynny'n amser anhygoel drwy'r broses honno. Ac, mewn gwirionedd, mae'r diogelwyr yn dioddef ar hyn o bryd sy'n cael ei ysgrifennu yn y llyfrgell meddygol fel odysai diagnostig.
ac yn cael y diagnosi hwnnw yn fwy cyflym na byddai arall wedi digwydd. Mae gwasanaeth arall i'r prosiect yw cymryd tisiwm genedlaethol o ddiogelwyr canser i ddod o hyd i beth y byddant yn ymdrechu'n well.
Felly, mae'r prosiect Genedlaethol 100,000 wedi'i sefydlu gan Lywodraeth y DU gyda'r amlwg o gynllunio genedlaethol 100,000 o ddiogelwyr gyda'r dysgau rhaid neu'r canser. Ac mae'n gwneud hynny'n gwirionedd oherwydd roeddwn i'n gweld yr amlwg hwnnw yn y flwyddyn diwethaf 2018 ac mae'r canlyniadau'n dal i fod yn cael eu hysbysu o hynny nawr.
Felly, dim ond iawn am y math o ddiogelwyr ar ôl hwnnw dydw i ddim yn mynd yn eithaf lawr ar hyn. Mae'r ddysgwyr wedi'u gallu gynllunio genedlaethol ers y 1970au, ond yn y byd roedd dim ond 5% o'r wybodaeth hynny sy'n cael ei ddefnyddio ac roedd 95% o hynny wedi'i ddifrifio.
Adeiladu'r portal gwybodaeth gweithredu
Felly, iawn. Fel y dweudais, prosiect genedlaethol 100,000 wedi'i sefydlu gan Lywodraeth y DU i gynllunio genedlaethau 100,000 gyda phobl sydd ganddyn nhw rhagor o ddiogelwyr a canser. Nawr, yn dilyn y prosiect hwn yw'r cyflwyniad o'r Gwasanaeth Genedlaethol Genedlaethol ac mae hyn yn y peth sy'n hollbwysig iawn. Mae hyn yn rhagorol. Bydd y Gwasanaeth Genedlaethol, y Gwasanaeth Iechyd Genedlaethol yn y DU yn mynd i fod yn y gysylltiad cyhoeddus cyhoeddus i roi cyfrifiad genedlaethol fel rhan o'i gysylltiad iechyd cyhoeddus. Felly mae hyn yn ddiddorol iawn i fod yn ymwneud â hyn.
Ond, nid yw'r data genedlaethol sy'n bwysig yma. Mae yna sefydliad mawr o gadarnhau i ddod o'r sampl glan i'r adroddiad clinigol gwreiddiol. Mae'r DNA yn cael ei hysbysu, mae'n cael ei hysbysu i un sefydliad i un arall ac ati. Mae pobl gyda swyddi gwahanol, mae gennym pobl, felly, bioinformatigwyr, mae gennym pobl yn y lab, ac mae'n broses gwahanol gan ddefnyddio data o wahanol fforddau. Ac yr hyn sydd angen yma yw rhyw ffordd o gwneud i bobl yn y broses hwn gysylltu â'r metadata sy'n ymwneud â hyn, ond nad oes angen mynd i unrhyw le ymlaen â'r lefel o gyffredin.
Felly dyna pan ddod yn Shiny. Felly, rydyn ni wedi adeiladu gweithdai Shiny a'r portal MI, neu'r portal gwybodaeth gweithredu, sy'n gallu i bobl ar unrhyw lefel o'r pipline data gysylltu â'r metadata sy'n ymwneud â hyn a gwneud eu gwaith.
Iawn, felly, pan dwi'n dweud mai hwn yw gweithdai Shiny, mae hwn yn y gweithdai Shiny mwyaf fawr rydw i wedi gweithio arno, ac mae'n fwy fel gweithdai mega sy'n cael ei wneud o sefydliad o gysylltiadau. Nawr, rydyn ni wedi defnyddio mwy o gysylltiadau arall, ond yn ddiweddar, roedd gennym sefydliad o gysylltiadau cyffredin, felly pethau fel Shiny, y Tidyverse, a gysylltiadau i weithio gyda'r holl ddatabaseau a'r API sy'n ymwneud â'r broses.
Rydyn ni'n defnyddio llawer o gysylltiadau i gysylltiadu edrych a teimlo, ond mewn gwirionedd, efallai un o'r categori mwyaf bwysig o gysylltiadau oedd gweithdai HTML. Ac mewn gwirionedd, fel ddatblygiwr Shiny, mae gweithdai HTML yn efallai fy hyfforddiant a'r peth mwyaf hyfforddiant, yn rai ffyrdd, dim ond oherwydd gallaf ddod o hyd ar rai ffeisiau gwahanol, yn gweithio'n bwysig i'r rhan fwyaf a chynnal ddatblygiad HTML ar y ddod â'r hyn.
Ac pan ddewisais i'r client amdano, mae'n byw'r datblygiad HTML y maen nhw'n cael ei hyfforddi. Ond, yn golygu, mae datblygiadau HTML yn sefydliadau da iawn. Os nad ydych chi wedi clywed nhw, maen nhw'n gwneud i chi gysylltio i'r gweithgaredd sy'n gwneud y peth mwyaf hyfforddiant.
Felly, rwy'n credu bod gen i'n gyfathrebu'r mwyaf hyn, ond, er mwyn ystyried, yr holl bwerus o ran dylunio'r gweithgaredd hon oedd creu gweithgaredd sy'n gallu cael ei defnyddio gan bobl yn amrywiaethau gwahanol o'r prosiect. Roedd gorffennydd neu gweithgaredd eisoes angen cyflwru un cwestiwn neu bwysig o gwestiynau. Ac oedd arall bwerus i'w gallu byw yn hynny gyflym.
Felly, fel y dywedais, dyma'r cyntaf ddiwedd ar hyn sy'n cael ei wneud, ac mae'n un o'r prosiectau hyn lle dydyn ni ddim yn gallu cael syniad gwirioneddol iawn o'r hyn sy'n ei angen. Felly, roedd y prosiect hon, a'r gweithgaredd ynghylch ei gilydd, wedi datblygu wrth y prosiect. Ac mae hynny'n rhan o'r rheswm rydyn ni'n defnyddio Shiny, mewn gwirionedd. Mae'r gweithgaredd Shiny ar gyfer prototypu'r rhapid yn gwneud ei ddefnyddio'n perffaith yn y prosiect hon.
Mae'r gweithgaredd Shiny ar gyfer prototypu'r rhapid yn gwneud ei ddefnyddio'n perffaith yn y prosiect hon.
Defnyddio'r portal — enghreifftiau
Iawn. Felly, yr hyn rydw i'n mynd i'w wneud ar hyn o bryd yw rydw i'n mynd i rhedeg nifer o enghraifftau o bobl sy'n gallu defnyddio'r gweithgaredd hon a'r math o gwestiynau sy'n cael eu gofyn ac yn dweud i chi sut y byddai hynny'n edrych yn y gweithgaredd. Felly, yn gyntaf, gallaf fod yn rheolwr rhaglen ar Genomics England. Efallai y byddwn i eisiau gwybod sut mae llawer o'r rhaglenau hynny o ddyniadau cancer neu pleidiau rhwngwladol.
felly, rydw i'n mynd i gyrraedd hynny. Felly, mae hynny'n byw a'n gyflwyno ar hyn o bryd ac rydym ni'n cael cynghori da ar y pobl yn gallu cael un enghreifft gwirionedd o'r sy'n mynd yno.
Felly, un arall o'r gweithgaredd yma yw'r tîm samplau yn y llap. Felly, er mwyn gwneud gwaith gwahanol i'r cynhyrch ymhellach. Mae hwn yn y bobl sy'n gweithio gyda'r data DNA eu hunain. Felly, os oes ganddyn nhw problem gyda'r tîm samplau DNA, mae'n rhaid iddyn nhw gallu hyfforddi hynny er mwyn i bobl ar ôl iddyn nhw gwybod bod y broblem hwnnw.
Efallai y byddant eisiau gwybod beth yw'r tîmau gysylltiadol arall yn yr hyfforddiad cas. Felly, pan dwi'n dweud hyfforddiad cas, pan roeddwn i'n siarad am Jessica a'r mam a'r dad o'r blaen, maen nhw i gyd yn rhan o'r hyfforddiad cas hwnnw. A byddwn i eisiau gweld os oes ganddyn nhw fflagio o'r blaen o'r blaen.
newydd, rydyn ni wedi'i ladio gyda dîm gwirioneddol. Dyma dîm gwirioneddol. Felly, byddwn i'n defnyddio'r tîm fflagio a byddwn i'n siarad am y brosiect hwnnw. Felly, dyna'n mynd i'n ddatabase ac rydyn ni'n cael y wybodaeth ar gyfer y cas.
Felly, newydd, rydyn ni'n cael unrhyw dîm gwirioneddol hwnnw yn enw VisNetwork. Felly, rydyn ni'n gallu gweld pob un o'r different entitiadau yn y cas hwnnw. Unwaith dwi'n clicio ar hynny, mae'r dîm hwnnw'n cyflwyno rywfaint o wybodaeth am hynny. Felly, rydyn ni'n gallu gweld y hanes ar gyfer y sampl hwnnw. Rydyn ni'n cael rywfaint o ddata meta yno.
Sgiliau a pherfformiad
Felly, mae'r dîm hwnnw yn cyflwyno y dîm hwnnw yn ddiweddarach. Yn y broses nesaf, felly, mae'r dîm hwnnw yn cyflwyno yr hanellau o'r gŵr a chyfath o bethau ar gyfer y cynyddu o'r gwasanaeth Genedlaethol Genedlaethol.
Felly, mae'r gwasanaethau wedi'i ddatblygu mewn cyfyngau Docker a allwn ni ddweud bod yn rhoi mwy o gyfyngau a chael un defnyddwr ar gyfer y gwasanaeth. Ond, dydyn ni ddim eisiau gwneud dim ond hynny. Roeddwn i eisiau bob enghraifft unigol o'r gwasanaeth i allu cefnogi nifer o ddefnyddwyr fel y gallwn ni gwneud ymddygiad o rhai ffeaturau fel casio. Felly, roeddwn i angen sileifrio'r gwasanaeth.
Ac i wneud hyn, rhan o'r gwasanaeth oedd defnyddio'r rhaglenau Future and Promises a gwneud rhai o'r gwasanaeth yn ysynchronol. Felly, nid oedd defnyddwyr yn gwblhau pob sesiynau.
Nawr, i weld pethau y byddwn ni angen eu hyrwyddo, rydyn ni wedi gwneud rhai ffeaturau ddefnyddwyr a chynllunio'r rhaglenau hyn. Yn amlwg, mae'r amlwg yma yw ein bod ni'n cael pobl yn defnyddio'r gwasanaeth ar gyfer pethau gwahanol. Ond, yn ein test cyntaf, rydyn ni wedi ddewis ddewis rhywbeth sy'n eithaf ddatabaseol a'n intensif api a'n defnyddio llawer o codi'r rhaglen cyffredin i weld pethau y bydd ein rhaglenau yn ymddangos. Ac rydyn ni'n defnyddio testau prof a'r rhaglen cyffredin i edrych arno.
Felly, ychydig o bethau sydd gennym ni yma. Mae yna sgwrs dda iawn. Rwy'n meddwl ei fod yn ymddangos o'r cyfarfod o'r blwyddyn diwethaf gan Joe Cheng. Ac mae'n siarad am cael gwahaniaethau ond ddim llwybrau. Yn ariannol, cael y pethau'n fawr yn ymddangos i'w optimïo'n gyntaf.
Felly roeddwn i'n hapus iawn i weld bod y rhai o'r pethau a oeddwn i'n gallu eu gofyn – felly, cwestiwnau database a chwestiwnau api – roeddent yn y pethau sylw yn ein hysbysu.
Mae'r griff ar y ddra, mae'n gweld nad oedd yn gwbl ond mewn gwirionedd beth sydd wedi digwydd yw cael y gwser yn synchrones wedi ei gadael y llawer o ddarn i'r sesiwnau mwyaf ddangos. Ac mewn gwirionedd, beth rydyn ni'n sylw nid yw'n ymwneud â chynhyrchu i gael bwysau, ond hefyd yw'n ymwneud â chynhyrchu i gael gwybodaeth cyffredinol rhwng bobl gwahanol. Mae llawer o bethau allan yno am y 99% o gwmpas optimisio, ac felly rydyn ni'n sylw bod cyffredinol yn beth pwysig iawn i ni.
Gwersi a ddysgwyd
Felly, rydw i'n mynd i gynllunio gyda'r pethau pwysig rydyn ni'n dysgu yma. Felly, fel y dywedodd Joe, rwy'n credu ei fod yn hawdd i fynd â'r gwrs ar y sgiliau o gwmpas cyffredinol sy'n cydweithio ar gwneud popeth yn synchrones. Ond yr hyn rydyn ni'n gweld yw'n bwysig iawn.
o'r rhai pethau fel cyflawni fy ngwrs gyda llawer o gwmpas cyffredinol ac rydyn ni'n rhaid i ni gwneud rhwydwaith sy'n fel hynny. Mae hefyd pwysig iawn o'r ffordd sy'n cael ei ysgrifennu fel gwrsio pethau'n sylweddol, felly mae'n defnyddio llawer o gwrswyr a gwerthfawr reactig i gyd lle nad yw'n anodd ac nid yw'n gwneud ymdrech o'r bwysig felly rydyn ni'n rhaid i ni wneud yn siŵr bod ein codi wedi dilyn y ffordd hynny ac yn ymgynghori i'r prif ddeithasau ac roedd hynny'n bwysig i'r hyn rydyn ni'n ei wneud.
Un peth hefyd fel roedd y ddatabase a'r cysylltiadau API sy'n y pethau sy'n ymwneud â'r pwysig roedden ni'n ei ddod o'r ffordd mae'n bwysig iawn i ddefnyddio ffunctionality o SQL felly rwy'n meddwl fel gwyddoniaeth ddata.
roedd y ffunctionality yn golygu ein bod ni'n gallu mynd mwy o'n brosesau at y ddatabase. Fe wnaethon ni ddefnyddio llawer o ffunctiynau ddatabase hefyd, dim ond oherwydd dydyn ni ddim eisiau fod yn ymgynghori y rhai ddatabase cyffredinol hwnnw mae'n iawn i wneud hynny ond roedd yn dda iawn i ni i gael y rhannu o'r rhanau gwahanol o'r ddatabase. A hefyd dim ond bod y ddatabase yn bwysig iawn felly rydyn ni'n gweithio yn dda iawn gyda'n tîm peiriannol o ran y rhan yma o bethau.
Ychydig o'r pethau byth a pethau rydyn ni'n ei wneud, felly rydyn ni'n ei wneud ychydig o gwmpas cyllid data. Felly ar rai o'r ddatganiadau, roedd yna rai fathau defnyddio sy'n eithaf cyffredinol, felly bydd ein defnyddwyr yn cyllid ysgrifennol. Byddent yn edrych ar y metrigau yno ac yna byddent yn mynd i fynd i'r sgrin arall. Felly, yn y cas honno, rydyn ni'n penderfynu os yw hynny'n bwysig yr hyn rydyn nhw'n mynd i'w wneud bob amser, byddwn ni'n mynd i gylchu'r data sydd eu hangen o'r ddatabas ar gyfer amser, felly yna mae'n rhaid iddynt gysylltu â'r sesiynau cyffredin yn hytrach na'r sesiynau a'r ddatabas. Ac mae hynny'n helpu.
Ac yn ddiweddar, yn ôl i'r hyn rydw i'n ei ddweud o'r blaen am ddatabasau HTML, maen nhw'n ddiddorol iawn ar gyfer gysylltu â'r ddata. Rwy'n credu pan roeddwn i'n creu ddatabasau cyffredin yn ôl yn fy nhyrfaoedd, roedd llawer o ffocws efallai ar clicio ar ddifferent o adnoddau ac yna mae hynny'n mynd i'r sesiynau cyffredin, ond mewn gwirionedd gallwch gael llawer o'r ddiddorol ar yr hyn y mae pobl yn edrych arno a'r hyn y mae pobl yn edrych arno gyda ddifferent o adnoddau HTML ac roeddwn i'n teimlo bod hynny'n bwysig i'n dylunio.
Casgliad
Felly, mae hwn wedi bod yn brosiect ffantastig i weithio ac mae wedi bod yn ddiddorol i ddeall sut i gylchu'r gweithle. Rwy'n mynd i hygyrchu fy hun gyda rhywbeth rwyf wedi'i gweld mewn gwirionedd dros y blynyddoedd o weithio gyda Shiny fel cynghorwyr a ddatblygwr Shiny. Mae'n deimlo bod wedi newid sut mae Shiny'n cael ei ddefnyddio.
Felly, pan ddechreuais i, rwy'n credu roeddwn i'n gweld llawer o sefydliadau sy'n defnyddio Shiny ar gyfer y rhain sy'n ymwneud â ddata'n rhannu o ran eu sefydliad. Ac mae'n ddiddorol iawn i weithio gyda Shiny ar hyn o bryd lle gallwch weld pob math o bethau yn cael eu cyflawni a gwneud nhw'n wirioneddol yn gallu gynhyrchu fel yr oedd Joe yn siarad amdano yn ddiweddar.
Mae'n deimlo bod wedi newid sut mae Shiny'n cael ei ddefnyddio.
Iawn. Felly, diolch i chi i gyd am ddod ymlaen ac diolch i'r rhan o'r tîm i mi hefyd.
Mae gennym amser ar gyfer nifer o gwestiynau. Beth sydd gan y cwestiynau?
Cwestiynau ac atebion
Gallwn ni? Dyna'r rhan ac, Dyma ni! Gadewch i mi fod yn ymwybodol am un cwestiyn villainovus. Os oeddech chi'n matru logicau i rhent ar gilyddol i brio'n ffordd, sut oeddech chi'n cyfrif y cyfrifiad ar gyfer yritting cynghraethu? Mae llawer ohono wedi'i wneud mewn gwirionedd, felly mae gennym rhan o'r teimlad, felly dydyn ni ddim angen i'r cyfrifiad hynny, felly rydyn ni'n gallu gael ymwneud â'r broblem hwnnw.
Dwi'n ddiddorol i gwybod os oeddech chi'n rhannu'r cyfrifiad pan oeddech chi'n dechrau cael defnyddio'n wirioneddol, a oeddech chi'n cael cynghraith cyfrifiad ar lefel ddefnyddwyr, iawn neu'n dda? Nid ydw, nid. Rydyn ni'n byw yn y broses o ddiogelu'r cyfrifiad, ond gobeithio y byddwn a byddwn yn gobeithio'n dilyn y broses ddatblygu yn ymddygiad i'r hyn sy'n ei ddweud.
Iawn. A'n ymgynghoriad â hynny, ar y rhan o'r ddatabas, a oes gennych heriau neu penderfyniad am fod yn siŵr bod y sefydliad sy'n cefnogi'r databas yn dal i fod yn ymddygiadol? Nid ymddygiad fy hun, ond yna mae'n mwy o'r tîm ddatblygu sy'n ymddygiad â hynny, felly nid ydw i'n siŵr, diolch. Diolch, iawn.
Helo Nick, diolch. Sut y gafodd chi gyrraedd pobl yn dod yn ôl i chi ac yn dweud wrthoch chi, mae boc yma, rwy'n credu bod penderfyniad yma. Dw i'n golygu bod mwy o bobl yn gweithio gyda'r ddatabas. Sut y gafodd chi gyrraedd hynny? Diolch, gallwch chi arwain y cwestiwn, dydw i ddim yn golygu hynny. Dwi'n credu bod penderfyniad yma yn y rhan yma o'r codi. A oeddent wedi e-bwyswyd chi hynny? Oh, dwi'n gwybod. Felly, mewn cyfnod o'r defnyddwyr gwirioneddol yna, mae hynny'n cael ei gyrraedd drwy broses e-bwyswydd. Dwi'n credu, mewn cyfnod o'r tîm ddatblygu, mae gennym ffeydd ymwneudol sy'n cael ei ddefnyddio i gyrraedd ddatabas, fel gyda Jira a phethau fel hynny.
